Files
xingrin/worker/internal/pkg/logger.go

44 lines
746 B
Go

package pkg
import (
"os"
"go.uber.org/zap"
"go.uber.org/zap/zapcore"
)
var Logger *zap.Logger
func InitLogger(level string) error {
var zapLevel zapcore.Level
if err := zapLevel.UnmarshalText([]byte(level)); err != nil {
zapLevel = zapcore.InfoLevel
}
// Check if running in development mode
isDev := os.Getenv("ENV") == "development"
var config zap.Config
if isDev {
config = zap.NewDevelopmentConfig()
config.EncoderConfig.EncodeLevel = zapcore.CapitalColorLevelEncoder
} else {
config = zap.NewProductionConfig()
}
config.Level = zap.NewAtomicLevelAt(zapLevel)
var err error
Logger, err = config.Build()
if err != nil {
return err
}
return nil
}
func Sync() {
if Logger != nil {
_ = Logger.Sync()
}
}