• 日志级别

    日志级别

    日志级别用于管理日志的输出,我们可以通过设定特定的日志级别来关闭/开启特定的日志内容。通过SetLevel方法可以设置日志级别,glog支持以下几种日志级别常量设定:

    1. LEVEL_ALL
    2. LEVEL_DEBU
    3. LEVEL_INFO
    4. LEVEL_NOTI
    5. LEVEL_WARN
    6. LEVEL_ERRO
    7. LEVEL_CRIT

    我们可以通过位操作组合使用这几种级别,例如其中LEVEL_ALL等价于LEVEL_DEBU | LEVEL_INFO | LEVEL_NOTI | LEVEL_WARN | LEVEL_ERRO | LEVEL_CRIT。例如我们可以通过LEVEL_ALL & ^LEVEL_DEBU & ^LEVEL_INFO & ^LEVEL_NOTI来过滤掉LEVEL_DEBU/LEVEL_INFO/LEVEL_NOTI日志内容。

    当然glog模块还有其他的一些级别,如CRITFATA,但是这两个级别是非常严重的错误,无法由开发者自定义屏蔽,产生严重错误的时候。将会产生一些额外的系统动作,如panic/exit

    简单示例:

    1. package main
    2. import (
    3. "github.com/gogf/gf/g/os/glog"
    4. )
    5. // 设置日志等级,过滤掉Info日志信息
    6. func main() {
    7. l := glog.New()
    8. l.Info("info1")
    9. l.SetLevel(glog.LEVEL_ALL^glog.LEVEL_INFO)
    10. l.Info("info2")
    11. }

    执行后,输出结果为:

    1. 2018-10-10 14:38:48.687 [INFO] info1

    我们也可以通过gf框架的g.SetLogLevel/g.SetDebug模块来管理日志级别、调试信息。对应的日志等级如下:

    1. LOG_LEVEL_ALL
    2. LOG_LEVEL_DEBU
    3. LOG_LEVEL_INFO
    4. LOG_LEVEL_NOTI
    5. LOG_LEVEL_WARN
    6. LOG_LEVEL_ERRO
    7. LOG_LEVEL_CRIT