Logrus的使用

作者: yongfutian | 来源:发表于2019-01-09 18:57 被阅读0次

    Logrus的使用

    1、安装

    go get github.com/sirupsen/logrus
    

    2、Logrus特性

    六种日志级别:
    logrus.Debug("Useful debugging information.")
    logrus.Info("Something noteworthy happened!")
    logrus.Warn("You should probably take a look at this.")
    logrus.Error("Something failed but I'm not quitting.")
    logrus.Fatal("Bye.")   //log之后会调用os.Exit(1)
    logrus.Panic("I'm bailing.")   //log之后会panic()
    

    3、log参数配置,定义输出、格式或者日志级别等

    func init() {
        // 设置日志格式为json格式 自带的只有两种样式logrus.JSONFormatter{}和logrus.TextFormatter{}
        log.SetFormatter(&log.JSONFormatter{})
    
        // 设置将日志输出到标准输出(默认的输出为stderr,标准错误)
        // 日志消息输出可以是任意的io.writer类型
        log.SetOutput(os.Stdout)
    
        // 设置日志级别为warn以上
        log.SetLevel(log.WarnLevel)
    }
    

    4、常规使用

    package main
    
    import (
      log "github.com/sirupsen/logrus"
    )
    
    func main() {
      log.WithFields(log.Fields{
        "animal": "walrus",
      }).Info("A walrus appears")
    }
    

    5、logrus实例

    package main
    import (
        "github.com/sirupsen/logrus"
        "os"
    )
    
    // logrus提供了New()函数来创建一个logrus的实例。
    // 项目中,可以创建任意数量的logrus实例。
    var log = logrus.New()
    
    func main() {
        // 为当前logrus实例设置消息的输出,同样地,
        // 可以设置logrus实例的输出到任意io.writer
        log.Out = os.Stdout
    
        // 为当前logrus实例设置消息输出格式为json格式。
        // 同样地,也可以单独为某个logrus实例设置日志级别和hook,这里不详细叙述。
        log.Formatter = &logrus.JSONFormatter{}
    
        log.WithFields(logrus.Fields{
        "animal": "walrus",
        "size":   10,
        }).Info("A group of walrus emerges from the ocean")
    }
    

    6、Fields

    entry := logrus.WithFields(log.Fields{"request_id": request_id, "user_ip": user_ip})
    entry.Info("something happened on that request") 
    entry.Warn("something not great happened")
    

    7、Entry
    logrus.WithFields会自动返回一个 *Entry,Entry里面的有些变量会被自动加上

    time:entry被创建时的时间戳
    msg:在调用.Info()等方法时被添加
    level
    

    相关文章

      网友评论

        本文标题:Logrus的使用

        本文链接:https://www.haomeiwen.com/subject/xckgrqtx.html