55 lines
1.6 KiB
Go
55 lines
1.6 KiB
Go
package logger
|
|
|
|
import (
|
|
"os"
|
|
"time"
|
|
|
|
"management/internal/pkg/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)
|
|
}
|
|
}
|