package main
import (
"log/slog"
"os"
)
// MultiHandler is a custom handler that forwards log records to multiple handlers.
type MultiHandler struct {
handlers []slog.Handler
}
// Enabled reports whether any of the handlers are enabled for the given level.
func (h *MultiHandler) Enabled(level slog.Level) bool {
for _, handler := range h.handlers {
if handler.Enabled(level) {
return true
}
}
return false
}
// Handle forwards the Record to all handlers.
func (h *MultiHandler) Handle(r slog.Record) error {
for _, handler := range h.handlers {
if handler.Enabled(r.Level) {
// Use a copy of the Record for safety.
rCopy := r.Clone()
if err := handler.Handle(rCopy); err != nil {
return err
}
}
}
return nil
}
// WithAttrs returns a new MultiHandler with the given attributes added to each handler.
func (h *MultiHandler) WithAttrs(attrs []slog.Attr) slog.Handler {
newHandlers := make([]slog.Handler, len(h.handlers))
for i, handler := range h.handlers {
newHandlers[i] = handler.WithAttrs(attrs)
}
return &MultiHandler{handlers: newHandlers}
}
// WithGroup returns a new MultiHandler with the given group name added to each handler.
func (h *MultiHandler) WithGroup(name string) slog.Handler {
newHandlers := make([]slog.Handler, len(h.handlers))
for i, handler := range h.handlers {
newHandlers[i] = handler.WithGroup(name)
}
return &MultiHandler{handlers: newHandlers}
}
// NewMultiHandler creates a new MultiHandler.
func NewMultiHandler(handlers ...slog.Handler) slog.Handler {
return &MultiHandler{handlers: handlers}
}
func main() {
// Open the log file.
file, err := os.OpenFile("app.log", os.O_CREATE|os.O_APPEND|os.O_WRONLY, 0666)
if err != nil {
panic(err)
}
defer file.Close()
// Create a console handler.
consoleHandler := slog.NewTextHandler(os.Stdout, nil)
// Create a file handler.
fileHandler := slog.NewTextHandler(file, nil)
// Combine handlers using MultiHandler.
multiHandler := NewMultiHandler(consoleHandler, fileHandler)
// Create a logger with the MultiHandler.
logger := slog.New(multiHandler)
// Set the logger as the default logger.
slog.SetDefault(logger)
// Log messages.
slog.Info("This is an info message", "user", "alice")
slog.Warn("This is a warning message", "attempt", 3)
slog.Error("This is an error message", "error", "file not found")
}
ChatGPT сегодня выглядит буквально как трехлетний ребёнок с феноменальной памятью. Он даже не умеет лгать, потому что не понимает какова выгода от лжи.
спросите в chatgpt откуда пошел мем "сам себе злой буратино". выгоды конечно никакой - но насчет лгать.... :)
за "кажого" не стоит говорить. ради интереса, если по новостям покажут/раскажут как посадили 100 человек за vpn.. вы, лично, будете расчитывать, что 101 - будет не вы ? или же перейдете на условный rutube ?
за 20+ жизни в штатах, я примерно раз 5 был в банке. в моем "основном" банке (которым я в 90% пользуюсь) - я не был никогда (у них даже отделения нет в штате). кредиты на машины, дом и все остальные - все online делалось. по мне - возможность оформить любую банковскую услугу не ходя в банк - перевешивают любые отсутствующие удобства.
в VA - также, получил через web site через 10 мин, добавил в gpay и проблем нет. персонально, при поездке за границу - я бы позаботился больше чем за день, что впрочем совсем не извиняет Филадельфию ;)
с защитой, как таковой, тут (в штатах), проблем нет. но, если ты подписался в спортзал на год (и получил скидку), то да, придется платить… можно не ходить, а платить — придется. то же самое, и с любыми сервисами, что вы описали.
В америке с дества учат как правильно себя преподнести, как сделать акцент именно на том, что ты сделал или как ты помог. И в будущем — это им отлично помогает продавать себя работадателю или инвестору.
это не так, просто в местном системе образования, гораздо больше уделяется умению писать эссе, откуда и вытекает умение просто писать (в том числе и о себе). к тому же, гораздо очень важно, для поступления в хорошие ВУЗы, принимать участие во всякой вне школьной активности, которую, естественно потом отражают во всех заявлениях для поступления в ВУЗы.
что как то мало.
https://epoch.ai/data/data-centers/satellite-explorer
один Microsoft Fairwater планируется в 3.3 GW
потому, что платформы - как правило там, а вы - как правило здесь.
они не первые ;)
01-preview.. нет ? (не тестил)
в нашей части (VA), как пр заказу - без туч.
Испугались.. если уже на 10й он(о) - ходит.. на 100й - будет танцевать, то на 10 тысячной... телепортироваться ?
"опять 25".
ChatGPT сегодня выглядит буквально как трехлетний ребёнок с феноменальной памятью. Он даже не умеет лгать, потому что не понимает какова выгода от лжи.
спросите в chatgpt откуда пошел мем "сам себе злой буратино". выгоды конечно никакой - но насчет лгать.... :)
много времени на формулировку это не заняло.
причины
если карта утекла - то надо ее менять, а она много где привязана может быть. в случае paypal - такой проблемы нет.
отбить неверную транзакцию, у paypal все же проще, чем у visa (или еще где). впрочем, скорее #1
я так понял - идея не только парсить трафик, но еще и знать какой процесс его генерировал.
в простом обьяснении: windows - не "Гатис" пишет.. а они (программисты, что пишут) - тоже есть хотят.
можно, но каждый будут надкусывать.
пропал дом....
https://www.youtube.com/watch?v=JUK403zAa5U
за "кажого" не стоит говорить. ради интереса, если по новостям покажут/раскажут как посадили 100 человек за vpn.. вы, лично, будете расчитывать, что 101 - будет не вы ? или же перейдете на условный rutube ?
за 20+ жизни в штатах, я примерно раз 5 был в банке. в моем "основном" банке (которым я в 90% пользуюсь) - я не был никогда (у них даже отделения нет в штате). кредиты на машины, дом и все остальные - все online делалось. по мне - возможность оформить любую банковскую услугу не ходя в банк - перевешивают любые отсутствующие удобства.
в VA - также, получил через web site через 10 мин, добавил в gpay и проблем нет. персонально, при поездке за границу - я бы позаботился больше чем за день, что впрочем совсем не извиняет Филадельфию ;)
это не так, просто в местном системе образования, гораздо больше уделяется умению писать эссе, откуда и вытекает умение просто писать (в том числе и о себе). к тому же, гораздо очень важно, для поступления в хорошие ВУЗы, принимать участие во всякой вне школьной активности, которую, естественно потом отражают во всех заявлениях для поступления в ВУЗы.