添加cmd彩色输出设置。
This commit is contained in:
79
golang/logUse/logUse.go
Normal file
79
golang/logUse/logUse.go
Normal file
@@ -0,0 +1,79 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"os"
|
||||
|
||||
nested "github.com/antonfisher/nested-logrus-formatter"
|
||||
"github.com/sirupsen/logrus"
|
||||
"gopkg.in/natefinch/lumberjack.v2"
|
||||
)
|
||||
|
||||
type FileHook struct {
|
||||
formatter logrus.Formatter
|
||||
fileLogger *lumberjack.Logger
|
||||
}
|
||||
|
||||
func (hook *FileHook) Fire(entry *logrus.Entry) error {
|
||||
line, err := hook.formatter.Format(entry)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
_, err = hook.fileLogger.Write(line)
|
||||
return err
|
||||
}
|
||||
|
||||
func (hook *FileHook) Levels() []logrus.Level {
|
||||
return logrus.AllLevels
|
||||
}
|
||||
|
||||
func main() {
|
||||
// 创建文件输出
|
||||
fileLogger := &lumberjack.Logger{
|
||||
Filename: "logrus.log",
|
||||
MaxSize: 1,
|
||||
MaxBackups: 3,
|
||||
MaxAge: 30,
|
||||
Compress: true,
|
||||
}
|
||||
|
||||
// 创建 nested 格式化器(文件用)
|
||||
fileFormatter := &nested.Formatter{
|
||||
HideKeys: true,
|
||||
FieldsOrder: []string{"component", "category"},
|
||||
NoColors: true, // 文件不要颜色
|
||||
ShowFullLevel: true, // 显示完整级别
|
||||
TimestampFormat: "2006-01-02 15:04:05.000",
|
||||
}
|
||||
|
||||
// 文件 Hook
|
||||
fileHook := &FileHook{
|
||||
fileLogger: fileLogger,
|
||||
formatter: fileFormatter,
|
||||
}
|
||||
logrus.AddHook(fileHook)
|
||||
|
||||
// 显示具体日志位置。
|
||||
//logrus.SetReportCaller(true)
|
||||
|
||||
// 控制台输出(带颜色)
|
||||
logrus.SetOutput(os.Stdout)
|
||||
logrus.SetFormatter(&nested.Formatter{
|
||||
HideKeys: true,
|
||||
FieldsOrder: []string{"component", "category"},
|
||||
NoColors: false, // 控制台带颜色
|
||||
})
|
||||
|
||||
logrus.SetLevel(logrus.InfoLevel)
|
||||
|
||||
// 记录日志
|
||||
logrus.Info("This is an info message")
|
||||
logrus.Warn("This is a warning message")
|
||||
logrus.Error("This is an error message")
|
||||
|
||||
// 测试带字段的日志
|
||||
logrus.WithFields(logrus.Fields{
|
||||
"component": "auth",
|
||||
"user_id": 12345,
|
||||
"ip": "192.168.1.100",
|
||||
}).Info("User login success")
|
||||
}
|
||||
Reference in New Issue
Block a user