Files
tgex-backend/telegram_bot/pkg/logger/logger.go
Artem Tsyrulnikov 2fb8c83041 new telegram bot
2025-12-30 19:50:15 +03:00

39 lines
886 B
Go

package logger
import (
"os"
"time"
"github.com/rs/zerolog"
"github.com/rs/zerolog/log"
)
type Config struct {
AppName string `envconfig:"APP_NAME" required:"true"`
AppVersion string `envconfig:"APP_VERSION" required:"true"`
Level string `default:"error" envconfig:"LOGGER_LEVEL"`
PrettyConsole bool `default:"false" envconfig:"LOGGER_PRETTY_CONSOLE"`
}
func Init(c Config) {
zerolog.TimeFieldFormat = time.RFC3339
zerolog.SetGlobalLevel(zerolog.InfoLevel)
level, err := zerolog.ParseLevel(c.Level)
if err != nil {
zerolog.SetGlobalLevel(level)
}
log.Logger = log.With().
// Caller().
// Str("app_name", c.AppName).
// Str("app_version", c.AppVersion).
Logger()
if c.PrettyConsole {
log.Logger = log.Output(zerolog.ConsoleWriter{Out: os.Stderr, TimeFormat: "15:04:05"})
}
log.Info().Msg("Logger initialized")
}