Добавил каркас приложения

This commit is contained in:
2026-06-14 11:17:01 +03:00
parent a48f39d7f0
commit ed4b4fb15e
25 changed files with 824 additions and 8 deletions
+34
View File
@@ -0,0 +1,34 @@
// Package logging собирает slog-логгер по настройкам из конфига.
package logging
import (
"log/slog"
"os"
"strings"
)
// New возвращает slog-логгер с указанным уровнем и форматом ("json"|"text").
func New(level, format string) *slog.Logger {
opts := &slog.HandlerOptions{Level: parseLevel(level)}
var handler slog.Handler
if strings.EqualFold(format, "text") {
handler = slog.NewTextHandler(os.Stdout, opts)
} else {
handler = slog.NewJSONHandler(os.Stdout, opts)
}
return slog.New(handler)
}
func parseLevel(level string) slog.Level {
switch strings.ToLower(level) {
case "debug":
return slog.LevelDebug
case "warn", "warning":
return slog.LevelWarn
case "error":
return slog.LevelError
default:
return slog.LevelInfo
}
}