Copyright © 2022-2024 aizws.net · 网站版本: v1.2.6·内部版本: v1.23.3·
页面加载耗时 0.00 毫秒·物理内存 66.9MB ·虚拟内存 1301.0MB
欢迎来到 AI 中文社区(简称 AI 中文社),这里是学习交流 AI 人工智能技术的中文社区。 为了更好的体验,本站推荐使用 Chrome 浏览器。
beego设计了一个专门处理日志的库,方便我在项目中打印各种错误日志,调试日志,使用日志库需要先安装日志库。
go get github.com/beego/beego/v2/core/logs
import ( "github.com/beego/beego/v2/core/logs" )/pre>
// debug级别 logs.SetLevel(logs.LevelDebug)
下面是常用的日志级别: 由高到底,高于当前日志级别的日志不展示。
如果想将日志直接输出到console,则设置:
logs.SetLogger("console")
日志输出到文件的配置:
logs.SetLogger(logs.AdapterFile, `{"filename":"app.log", "level":6}`)
将日志输出到文件,详细参数主要通过 SetLogger 的第二个参数配置,这是一个 json 格式的配置。
详细配置:
参数名 | 说明 |
---|---|
filename | 日志文件名 |
maxlines | 每个文件保存的最大行数,默认值 1000000 |
maxsize | 每个文件保存的最大尺寸,默认值是 1 << 28, //256 MB |
daily | 是否按照每天 logrotate,默认是 true |
maxdays | 文件最多保存多少天,默认保存 7 天 |
rotate | 是否开启 logrotate,默认是 true |
level | 日志保存的时候的级别,默认是 Trace 级别 |
perm | 日志文件权限 |
// 日志打印到console logs.SetLogger("console") // 设置日志级别 logs.SetLevel(logs.LevelDebug) // 输出文件名和行号 logs.EnableFuncCallDepth(true) // 设置日志前缀 logs.SetPrefix("aizws") // 下面分别调用不同的日志级别打印日志 logs.Debug("这是一条debug日志, 后面是参数 ", 2019,2018) logs.Info("携带参数1: %s, 参数2: %d", "aizws", 2019) logs.Warn("可以直接打印map类型数据 ", map[string]int{"key": 2019}) logs.Error("参数1", "参数2", "后面可以加入任意参数")
提示:你也可以使用beego.Info(), beego.Debug(), beego.Error() 打印日志,这些函数其实是对logs进行封装了,跟logs的用法一致。
输出日志:
2019/06/30 18:38:23.075 [D] [main.go:29] aizws 这是一条debug日志, 后面是参数 2019 2018 2019/06/30 18:38:23.149 [I] [main.go:29] aizws 携带参数1: aizws, 参数2: 2019 2019/06/30 18:38:23.149 [W] [main.go:29] aizws 可以直接打印map类型数据 map[key:2019] 2019/06/30 18:38:23.149 [E] [main.go:29] aizws 参数1 参数2 后面可以加入任意参数
提示:在实际项目中,建议在main.go入口文件,统一对日志库进行配置。
beego 错误处理:在 web 开发的中时候,如果遇到错误,例如: 404, 500错误等等,我们一般都会展示一个错误页面提示用户,beego默认提供了一些内置的错误页面,本章主要介绍如使用错误页面和定制错误页面。