package main import ( "context" "os" "time" "github.com/rs/zerolog" "github.com/rs/zerolog/log" "github.com/TelegramExchange/tgex-backend/tg_parser/config" "github.com/TelegramExchange/tgex-backend/tg_parser/internal/app" ) func main() { c, err := config.New() if err != nil { log.Fatal().Err(err).Msg("config.New") } initLogger(c.Logger) log.Info().Msg("parser starting") log.Info().Msg("parser initialized") ctx := context.Background() if err := app.Run(ctx, c); err != nil { log.Error().Err(err).Msg("app.Run") } } func initLogger(c config.LoggerConfig) { zerolog.TimeFieldFormat = time.RFC3339 level := zerolog.InfoLevel if parsedLevel, err := zerolog.ParseLevel(c.Level); err == nil { level = parsedLevel } zerolog.SetGlobalLevel(level) log.Logger = zerolog.New(os.Stdout).With(). Timestamp(). Logger(). Level(level) if c.PrettyConsole { log.Logger = zerolog.New(zerolog.ConsoleWriter{Out: os.Stdout, TimeFormat: "15:04:05"}). With(). Timestamp(). Logger(). Level(level) } log.Info().Msg("Logger initialized") }