logrus默認不支持顯示文件名和行號,不太友好,但是在v1.2.0版本已經(jīng)修復。可以通過setReportCaller設置即可顯示文件名和行號
補充知識:logrus 的輸出設置
O_RDONLY:只讀模式(read-only)
O_WRONLY:只寫模式(write-only)
O_RDWR:讀寫模式(read-write)
O_APPEND:追加模式(append)
O_CREATE:文件不存在就創(chuàng)建(create a new file if none exists.)
O_EXCL:與 O_CREATE 一起用,構(gòu)成一個新建文件的功能,它要求文件必須不存在(used with O_CREATE, file must not exist)
O_SYNC:同步方式打開,即不使用緩存,直接寫入硬盤 O_TRUNC:打開并清空文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
func initLogger() error { logrusLogLevel, err := logrus.ParseLevel(*logLevel) if err != nil { return err } now := collectors.GetTime() err1 := collectors.CreateDir("logs") if err1 != nil { return err1 } f, err := os.OpenFile("logs/"+now, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0755) if err != nil { logrus.Fatal(err) } logrus.SetOutput(f) logrus.SetLevel(logrusLogLevel) logrus.SetReportCaller(true) logrus.SetFormatter(&logrus.TextFormatter{TimestampFormat: "2006-01-02 15:04:05"}) logrus.Info("init log done") return nil } func GetTime() string { return time.Now().Format("2006-01-02") } func CreateDir(string2 string) error { err := os.MkdirAll(string2, 0755) if err != nil { return err } return nil } func PathExists(path string) bool { _, err := os.Stat(path) if err == nil { return true } if os.IsExist(err) { return true } return false } |
以上這篇go日志系統(tǒng)logrus顯示文件和行號的操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持服務器之家。
原文鏈接:https://blog.csdn.net/chenyq991/article/details/103546942