| package bootstrap |
|
|
| import ( |
| "io" |
| "log" |
| "os" |
|
|
| "github.com/OpenListTeam/OpenList/v4/cmd/flags" |
| "github.com/OpenListTeam/OpenList/v4/internal/conf" |
| "github.com/OpenListTeam/OpenList/v4/pkg/utils" |
| "github.com/natefinch/lumberjack" |
| "github.com/sirupsen/logrus" |
| ) |
|
|
| func init() { |
| formatter := logrus.TextFormatter{ |
| ForceColors: true, |
| EnvironmentOverrideColors: true, |
| TimestampFormat: "2006-01-02 15:04:05", |
| FullTimestamp: true, |
| } |
| logrus.SetFormatter(&formatter) |
| utils.Log.SetFormatter(&formatter) |
| |
| } |
|
|
| func setLog(l *logrus.Logger) { |
| if flags.Debug || flags.Dev { |
| l.SetLevel(logrus.DebugLevel) |
| l.SetReportCaller(true) |
| } else { |
| l.SetLevel(logrus.InfoLevel) |
| l.SetReportCaller(false) |
| } |
| } |
|
|
| func Log() { |
| setLog(logrus.StandardLogger()) |
| setLog(utils.Log) |
| logConfig := conf.Conf.Log |
| if logConfig.Enable { |
| var w io.Writer = &lumberjack.Logger{ |
| Filename: logConfig.Name, |
| MaxSize: logConfig.MaxSize, |
| MaxBackups: logConfig.MaxBackups, |
| MaxAge: logConfig.MaxAge, |
| Compress: logConfig.Compress, |
| } |
| if flags.Debug || flags.Dev || flags.LogStd { |
| w = io.MultiWriter(os.Stdout, w) |
| } |
| logrus.SetOutput(w) |
| } |
| log.SetOutput(logrus.StandardLogger().Out) |
| utils.Log.Infof("init logrus...") |
| utils.Log = logrus.StandardLogger() |
| } |
|
|