TGViewer
Бодрый кодер Бодрый кодер @bodrcoder · 576 subscribers
Post #655 510
Одна из фич, которая вышла в Go 1.26 b и мне зашла - slog.NewMultiHandler. Логи можно отправлять сразу в несколько каналов, да еще и по условиям.


package main

import (
"log/slog"
"os"
)

func main() {
// Handler для консоли - только INFO и выше
consoleHandler := slog.NewTextHandler(os.Stdout, &slog.HandlerOptions{
Level: slog.LevelInfo,
})

// Handler для файла - DEBUG и выше
file, _ := os.OpenFile("app.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0644)
defer file.Close()

fileHandler := slog.NewJSONHandler(file, &slog.HandlerOptions{
Level: slog.LevelDebug,
})

// Объединяем оба Handler'а
multi := slog.NewMultiHandler(consoleHandler, fileHandler)
logger := slog.New(multi)

// DEBUG попадёт только в файл
logger.Debug("starting application", "config", "/etc/app.conf")

// INFO попадёт и в консоль, и в файл
logger.Info("server started", "port", 8080)

// ERROR попадёт в оба места
logger.Error("connection failed", "host", "db.example.com")
}
  • 🔥 1
More from @bodrcoder
  1. Sep 25, 2026Всех с пятницей. #пятничныйюмор
  2. Sep 24, 2026Думаю что сейчас будут все более популярны те сервисы, которые поддерживают MCP. Скоро Нов…
  3. Sep 22, 2026Разбирал вещи, очень сильно обрадовался что нашел сокровище. Но правда оказалась печальнее…
  4. Sep 17, 2026Купился на новый инференс uzu - который обещал гипер скорость на маке. Но я когда затащил…
  5. Sep 17, 2026Post #812
  6. Sep 17, 2026Кто каким стулом пользуется для работы? У меня в свое время самый удобный стул был - за 10…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →