24 lines
442 B
Go
24 lines
442 B
Go
package log
|
|
|
|
import (
|
|
"go.uber.org/zap"
|
|
"go.uber.org/zap/zapcore"
|
|
|
|
"epic-ent/internal/config"
|
|
)
|
|
|
|
func NewLogger(cfg *config.Config) (*zap.Logger, error) {
|
|
level := zapcore.InfoLevel
|
|
if err := level.Set(cfg.Log.Level); err != nil {
|
|
level = zapcore.InfoLevel
|
|
}
|
|
|
|
zapCfg := zap.NewProductionConfig()
|
|
zapCfg.Level = zap.NewAtomicLevelAt(level)
|
|
if cfg.Log.Format == "console" {
|
|
zapCfg.Encoding = "console"
|
|
}
|
|
|
|
return zapCfg.Build()
|
|
}
|