2025-04-02 10:16:07 +08:00

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)
}
}