Files
iqudo-top1/internal/logger/logger.go
2026-08-06 21:52:03 +08:00

29 lines
739 B
Go

package logger
import (
"strings"
"go.uber.org/zap"
"go.uber.org/zap/zapcore"
)
func New(environment, service string) (*zap.Logger, error) {
var cfg zap.Config
if strings.EqualFold(environment, "prod") || strings.EqualFold(environment, "production") {
cfg = zap.NewProductionConfig()
cfg.EncoderConfig.TimeKey = "time"
cfg.EncoderConfig.EncodeTime = zapcore.ISO8601TimeEncoder
} else {
cfg = zap.NewDevelopmentConfig()
cfg.EncoderConfig.EncodeLevel = zapcore.CapitalColorLevelEncoder
}
cfg.OutputPaths = []string{"stdout"}
cfg.ErrorOutputPaths = []string{"stderr"}
log, err := cfg.Build()
if err != nil {
return nil, err
}
return log.With(zap.String("service", service), zap.String("env", environment)), nil
}