package logger import ( "os" "time" "management/internal/config" "github.com/natefinch/lumberjack" "github.com/rs/zerolog" "github.com/rs/zerolog/log" ) func New(prod bool) { zerolog.SetGlobalLevel(zerolog.InfoLevel) logRotate := &lumberjack.Logger{ Filename: "./log/run.log", // 日志文件的位置 MaxSize: 10, // 在进行切割之前,日志文件的最大大小(以MB为单位) MaxBackups: 100, // 保留旧文件的最大个数 MaxAge: 30, // 保留旧文件的最大天数 Compress: true, } zerolog.TimeFieldFormat = time.DateTime log.Logger = log.With().Caller().Logger() if prod { log.Logger = log.Output(logRotate) } else { consoleWriter := zerolog.ConsoleWriter{Out: os.Stdout, TimeFormat: time.DateTime} multi := zerolog.MultiLevelWriter(consoleWriter, logRotate) log.Logger = log.Output(multi) } } func Init() { zerolog.SetGlobalLevel(zerolog.InfoLevel) logRotate := &lumberjack.Logger{ Filename: "./log/run.log", // 日志文件的位置 MaxSize: 10, // 在进行切割之前,日志文件的最大大小(以MB为单位) MaxBackups: 100, // 保留旧文件的最大个数 MaxAge: 30, // 保留旧文件的最大天数 Compress: true, } zerolog.TimeFieldFormat = time.DateTime log.Logger = log.With().Caller().Logger() if config.File.App.Prod { log.Logger = log.Output(logRotate) } else { consoleWriter := zerolog.ConsoleWriter{Out: os.Stdout, TimeFormat: time.DateTime} multi := zerolog.MultiLevelWriter(consoleWriter, logRotate) log.Logger = log.Output(multi) } }