• beego框架之日志模块


      参考beego开发文档:http://beego.me/docs/module/logs.md

      beego框架之日志模块默认支持4种记录方式:
      1. 终端输出(console) :这种方式一般用在开发环境下面,方便调试。
      2. 本地文件(file)       :这种方式一般用来保存常规日志,为生产环境中常用的方式。
      3. 网络方式(network):这种方式可以用来将日志发送到指定服务器,一般可以用来根据日志触发事件等。
      4. 发送邮件(email)   :这种方式一般是将生产环境下比较重要的日志发送给相应的管理人员,以便及时发现和解决问题。

      beego框架之日志模块等级定义在github.com/astaxie/beego/logs/log.go:(级别以此递减)
      const (
        LevelEmergency = iota // 紧急级别
        LevelAlert                   // 报警级别
        LevelCritical                // 严重错误级别
        LevelError                   // 错误级别
        LevelWarning              // 警告级别
        LevelNotice                 // 注意级别
        LevelInformational       // 报告级别
        LevelDebug                 // 除错级别
      )

    1. 终端输出(console)记录方式示例:

     1 package main
     2 
     3 import (
     4     "github.com/astaxie/beego/logs"
     5 )
     6 
     7 func main() {
     8     log := logs.NewLogger(10000)  // 创建一个日志记录器,参数为缓冲区的大小
     9     log.SetLogger("console", "")  // 设置日志记录方式:控制台记录
    10     log.SetLevel(logs.LevelDebug) // 设置日志写入缓冲区的等级:Debug级别(最低级别,所以所有log都会输入到缓冲区)
    11     log.EnableFuncCallDepth(true) // 输出log时能显示输出文件名和行号(非必须)
    12 
    13     log.Emergency("Emergency")
    14     log.Alert("Alert")
    15     log.Critical("Critical")
    16     log.Error("Error")
    17     log.Warning("Warning")
    18     log.Notice("Notice")
    19     log.Informational("Informational")
    20     log.Debug("Debug")
    21 
    22     log.Close()
    23 }
    24 
    25 程序输出:
    26     2015/06/29 12:01:07 [main.go:13] [M] Emergency
    27     2015/06/29 12:01:07 [main.go:14] [A] Alert
    28     2015/06/29 12:01:07 [main.go:15] [C] Critical
    29     2015/06/29 12:01:07 [main.go:16] [E] Error
    30     2015/06/29 12:01:07 [main.go:17] [W] Warning
    31     2015/06/29 12:01:07 [main.go:18] [N] Notice
    32     2015/06/29 12:01:07 [main.go:19] [I] Informational
    33     2015/06/29 12:01:07 [main.go:20] [D] Debug
    34 
    35 备注:如果log.SetLevel(logs.LevelDebug)修改为log.SetLevel(logs.LevelEmergency),则只输出Emergency级别的log,其他级别的log不会输出。

    2. 本地文件(file)记录方式示例:

    package main
    
    import (
        "github.com/astaxie/beego/logs"
    )
    
    func main() {
        log := logs.NewLogger(10000) // 创建一个日志记录器,参数为缓冲区的大小
        // 设置配置文件
        jsonConfig := `{
            "filename" : "test.log", // 文件名
            "maxlines" : 1000,       // 最大行
            "maxsize"  : 10240       // 最大Size
        }`
        log.SetLogger("file", jsonConfig) // 设置日志记录方式:本地文件记录
        log.SetLevel(logs.LevelDebug)     // 设置日志写入缓冲区的等级
        log.EnableFuncCallDepth(true)     // 输出log时能显示输出文件名和行号(非必须)
    
        log.Emergency("Emergency")
        log.Alert("Alert")
        log.Critical("Critical")
        log.Error("Error")
        log.Warning("Warning")
        log.Notice("Notice")
        log.Informational("Informational")
        log.Debug("Debug")
    
        log.Flush() // 将日志从缓冲区读出,写入到文件
        log.Close()
    }
    
    输出结果:test.log
    2015/06/29 12:55:29 [main.go:19] [M] Emergency
    2015/06/29 12:55:29 [main.go:20] [A] Alert
    2015/06/29 12:55:29 [main.go:21] [C] Critical
    2015/06/29 12:55:29 [main.go:22] [E] Error
    2015/06/29 12:55:29 [main.go:23] [W] Warning
    2015/06/29 12:55:29 [main.go:24] [N] Notice
    2015/06/29 12:55:29 [main.go:25] [I] Informational
    2015/06/29 12:55:29 [main.go:26] [D] Debug
  • 相关阅读:
    异常处理与调试2
    异常处理与调试
    异常处理与调试
    身份证校验程序(下)- 零基础入门学习Delphi49
    身份证校验程序(下)- 零基础入门学习Delphi49
    身份证校验程序(上)- 零基础入门学习Delphi48
    身份证校验程序(上)- 零基础入门学习Delphi48
    python -- 面向对象三大特性
    python -- 面向对象初识
    python成长之路八 -- 内置函数
  • 原文地址:https://www.cnblogs.com/hezhixiong/p/4607365.html
Copyright © 2020-2023  润新知