当前位置 博文首页 > go日志系统logrus显示文件和行号的操作

    go日志系统logrus显示文件和行号的操作

    作者:SmallQinYan 时间:2021-02-01 06:13

    logrus默认不支持显示文件名和行号,不太友好,但是在v1.2.0版本已经修复。可以通过setReportCaller设置即可显示文件名和行号

    补充知识:logrus 的输出设置

    O_RDONLY:只读模式(read-only)

    O_WRONLY:只写模式(write-only)

    O_RDWR:读写模式(read-write)

    O_APPEND:追加模式(append)

    O_CREATE:文件不存在就创建(create a new file if none exists.)

    O_EXCL:与 O_CREATE 一起用,构成一个新建文件的功能,它要求文件必须不存在(used with O_CREATE, file must not exist)

    O_SYNC:同步方式打开,即不使用缓存,直接写入硬盘 O_TRUNC:打开并清空文件

    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日志系统logrus显示文件和行号的操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持站长博客。

    js
    下一篇:没有了