package logging import ( "log/slog" "path/filepath" "gitlab.com/whom/bingobot/internal/config" "gopkg.in/natefinch/lumberjack.v2" ) type Logger struct { *slog.Logger } var ( Log Logger ) func Init(appConfig *config.AppConfig) { lj := &lumberjack.Logger{ Filename: filepath.Join(appConfig.LogDir, appConfig.LogFile), MaxSize: appConfig.LogMaxSizeMB, MaxBackups: appConfig.LogMaxBackups, MaxAge: appConfig.LogMaxAgeDays, Compress: appConfig.LogCompression, } Log = Logger{ slog.New( slog.NewJSONHandler(lj, &slog.HandlerOptions{ AddSource: appConfig.LogAddSource, }), ), } }