处理日志的库
go get github.com/astaxie/beego/logs
如何使用
添加输出引擎也支持第二个参数,用来表示配置信息,详细的配置请看下面介绍:
logs.SetLogger(logs.AdapterFile,{"filename":"project.log","level":7,"maxlines":0,"maxsize":0,"daily":true,"maxdays":10,"color":true}
)
package main
import (
“github.com/astaxie/beego/logs”
)
func main() {
//an official log.Logger
l := logs.GetLogger()
l.Println(“this is a message of http”)
//an official log.Logger with prefix ORM
logs.GetLogger(“ORM”).Println(“this is a message of orm”)
logs.Debug("my book is bought in the year of ", 2016)
logs.Info("this %s cat is %v years old", "yellow", 3)
logs.Warn("json is a type of kv like", map[string]int{"key": 2016})
logs.Error(1024, "is a very", "good game")
logs.Critical("oh,crash")
输出文件名和行号
logs.EnableFuncCallDepth(true)
开启传入参数 true,关闭传入参数 false,默认是关闭的.
异步输出日志
为了提升性能, 可以设置异步输出:
logs.Async()
异步输出允许设置缓冲 chan 的大小
logs.Async(1e3)
**引擎配置设置
**
主要的参数如下说明:
level 输出的日志级别
color 是否开启打印日志彩色打印(需环境支持彩色输出)
主要的参数如下说明:
filename 保存的文件名
maxlines 每个文件保存的最大行数,默认值 1000000
maxsize 每个文件保存的最大尺寸,默认值是 1 << 28, //256 MB
daily 是否按照每天 logrotate,默认是 true
maxdays 文件最多保存多少天,默认保存 7 天
rotate 是否开启 logrotate,默认是 true
level 日志保存的时候的级别,默认是 Trace 级别
perm 日志文件权限