package logging import ( "context" "git.toki-labs.com/toki/ariadne/internal/platform/config" "go.uber.org/fx" "go.uber.org/zap" ) func New(lifecycle fx.Lifecycle, cfg config.Config) (*zap.Logger, error) { var ( logger *zap.Logger err error ) if cfg.Environment == "development" { logger, err = zap.NewDevelopment(zap.AddStacktrace(zap.ErrorLevel)) } else { logger, err = zap.NewProduction() } if err != nil { return nil, err } lifecycle.Append(fx.Hook{ OnStop: func(context.Context) error { _ = logger.Sync() return nil }, }) return logger, nil }