new telegram bot
This commit is contained in:
38
telegram_bot/pkg/logger/logger.go
Normal file
38
telegram_bot/pkg/logger/logger.go
Normal file
@@ -0,0 +1,38 @@
|
||||
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")
|
||||
}
|
||||
Reference in New Issue
Block a user