34 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package logger
 | ||
| 
 | ||
| import (
 | ||
| 	"github.com/natefinch/lumberjack"
 | ||
| 	"go.uber.org/zap"
 | ||
| 	"go.uber.org/zap/zapcore"
 | ||
| )
 | ||
| 
 | ||
| var Logger *zap.SugaredLogger
 | ||
| 
 | ||
| func NewLogger() {
 | ||
| 	core := zapcore.NewCore(getEncoder(), getLogWriter(), zapcore.DebugLevel)
 | ||
| 	logger := zap.New(core, zap.AddCaller())
 | ||
| 	Logger = logger.Sugar()
 | ||
| }
 | ||
| 
 | ||
| func getEncoder() zapcore.Encoder {
 | ||
| 	encoderConfig := zap.NewProductionEncoderConfig()
 | ||
| 	encoderConfig.EncodeTime = zapcore.ISO8601TimeEncoder
 | ||
| 	encoderConfig.EncodeLevel = zapcore.CapitalLevelEncoder
 | ||
| 	return zapcore.NewConsoleEncoder(encoderConfig)
 | ||
| }
 | ||
| 
 | ||
| func getLogWriter() zapcore.WriteSyncer {
 | ||
| 	lumberJackLogger := &lumberjack.Logger{
 | ||
| 		Filename:   "./log/run.log", // 日志文件的位置
 | ||
| 		MaxSize:    10,              // 在进行切割之前,日志文件的最大大小(以MB为单位)
 | ||
| 		MaxBackups: 100,             // 保留旧文件的最大个数
 | ||
| 		MaxAge:     365,             // 保留旧文件的最大天数
 | ||
| 		Compress:   false,           // 是否压缩/归档旧文件
 | ||
| 	}
 | ||
| 	return zapcore.AddSync(lumberJackLogger)
 | ||
| }
 | 
