57 lines
1.1 KiB
Go
57 lines
1.1 KiB
Go
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")
|
|
}
|