package logs
import (
"go.uber.org/zap"
"go.uber.org/zap/zapcore"
"gopkg.in/natefinch/lumberjack.v2"
)
var Loggers *zap.Loggers
func InitLogger(logpath string, loglevel string) *zap.Logger {
hook := lumberjack.Logger{
Filename: logpath,
MaxSize: 1024,
MaxBackups: 3,
MaxAge: 7,
Compress: true,
}
w := zapcore.AddSync(&hook)
var level zapcore.Level
switch loglevel {
case "debug":
level = zap.DebugLevel
case "info":
level = zap.InfoLevel
case "error":
level = zap.ErrorLevel
default:
level = zap.InfoLevel
}
encoderConfig := zap.NewProductionEncoderConfig()
encoderConfig.EncodeTime = zapcore.ISO8601TimeEncoder
core := zapcore.NewCore(
zapcore.NewConsoleEncoder(encoderConfig),
w,
level,
)
logger := zap.New(core)
logger.Info("日志系统初始化成功")
return logger
}
func init() {
Loggers = InitLogger("logItems.log", "info")
}