项目地址:
https://github.com/sirupsen/logrus
用法:
package main import ( "github.com/sirupsen/logrus" "os" ) func initDefaultLog() { logrus.SetReportCaller(true) // 输出调用 logrus 的文件、方法名、行号 logrus.SetFormatter(&logrus.TextFormatter{ TimestampFormat: "2006-01-02 15:03:04", // 设置日志输出时间格式 }) //logrus.SetOutput(os.Stdout) // 输出到控制台 file, err := os.OpenFile("logs/default.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0644) if err != nil { panic("logrus open file error:" + err.Error()) } logrus.SetOutput(file) // 输出到文件 logrus.SetLevel(logrus.TraceLevel) } func newLog(fileName string) *logrus.Logger { myLogrus := logrus.New() myLogrus.SetReportCaller(true) // 输出调用 logrus 的文件、方法名、行号 myLogrus.SetFormatter(&logrus.TextFormatter{ TimestampFormat: "2006-01-02 15:04:05", // 设置日志输出时间格式 }) //myLogrus.SetOutput(os.Stdout) // 输出到控制台 file, err := os.OpenFile(fileName, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0644) if err != nil { panic("logrus open file error:" + err.Error()) } myLogrus.SetOutput(file) // 输出到文件 level, err := logrus.ParseLevel(logrus.TraceLevel.String()) // trace/debug/info/warn/error/fatal/panic if err != nil { panic("logrus parse level error:" + err.Error()) } myLogrus.SetLevel(level) return myLogrus } func main() { initDefaultLog() // 设置默认日志 logrus.WithFields(logrus.Fields{ "key1": "value1", "key2": 10, }).Info("this is a default log") infoLog := newLog("./logs/info.log") // 使用自定义日志 infoLog.WithField("key", "value").Info("this is a info log") errLog := newLog("./logs/err.log") // 使用自定义日志 errLog.WithField("key", "value").Error("this is a err log") }
文档更新时间: 2024-04-20 10:57 作者:lee