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

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值