日志级别
共有以下日志级别
import (
"cvgo/app"
)
func main() {
app.Log.Trace("最低级别,默认。所有日志,完整链路追踪")
app.Log.Debug("可用于开发调试信息")
app.Log.Info("业务需要收集的有用信息,例如访客 UA、请求耗时等")
app.Log.Warn("警告")
app.Log.Error("运行时错误")
app.Log.Fatal("最高级别,重要性最高,记录导致应用 panic 崩溃的严重错误")
}
在控制台输出效果如下
如果你没有在 app.yaml
中配置日志级别,则默认为 trace 级别,即调用以上任何方法都会进行日志的输出。
日志配置
app.yaml
goodlog:
level: trace
日志级别 level 的可选值:
- trace
- debug
- info
- warn
- error
- fatal
- off (默认)
trace 为最低级别,日志输出的条件是大于等于当前配置的级别,例如
- 配置为 trace 时所有级别的日志都会输出。
- 配置为 error 时只会输出 error 和 fatal 级别的日志。
- 配置为 off 时不进行输出,即关闭日志。
打印函数
Goland 断点调试功能非常好用,不过日常开发中还是会经常在代码里面打印数据,所以提供了一个简单的格式化输出数据类型的函数:
import (
"cvgo/provider/clog"
)
output := map[string]interface{}{
"hello": "哈喽",
"world": "沃德",
}
// 格式化输出。第二个参数是可选的,在 clog 包中提供了一些不同颜色,默认是黑色
clog.P("abc", clog.ColorRed)
此外 clog 包还对 fmt 包的打印函数进行了封装,使其带颜色输出
clog.RedPrintln("abc")
clog.RedPrintf("abc %s", "d")
clog.RedSprintf("abc %s", "d")
// 更多颜色:
clog.CyanPrintln("abc") // 青
clog.GreenPrintln("abc") // 绿
clog.BluePrintln("abc") // 蓝
clog.BluePrintln("abc") // 蓝
clog.YellowPrintln("abc") // 黄
clog.PinkPrintln("abc") // 粉