GoFrame入门教程 GoFrame 日志组件-颜色打印

2024-02-25 开发教程 GoFrame入门教程 匿名 4

颜色打印

可以增加日志的可查看性,打印日志时,会将错误等级文字通过添加字体颜色的方式突出显示。

效果示例

package main
import (
"context"
"github.com/gogf/gf/v2/frame/g"
)
func main() {
ctx := context.TODO()
g.Log().Debug(ctx, "Debug")
g.Log().Info(ctx, "Info")
g.Log().Notice(ctx, "Notice")
g.Log().Warning(ctx, "Warning")
g.Log().Error(ctx, "Error")
}

使用配置

控制台是必然会自带颜色输出的,文件日志默认不带颜色

若需要在文件中的日志也带上颜色可以在配置文件中添加配置

logger:
stdoutColorDisabled: false # 是否关闭终端的颜色打印。默认否,表示终端的颜色输出。
writerColorEnable: false # 是否开启Writer的颜色打印。默认否,表示不输出颜色到自定义的Writer或者文件。

也可以在代码中添加

g.Log().SetWriterColorEnable(true)

得到效果如下(红框部分是添加了文件日志颜色后的效果,另外部分为未开启时的效果)

默认颜色对应表

默认情况下,不同日志等级对应的颜色如下:

// \v2\os\glog\glog_logger_color.go
var defaultLevelColor = map[int]int{
LEVEL_DEBU: COLOR_YELLOW,
LEVEL_INFO: COLOR_GREEN,
LEVEL_NOTI: COLOR_CYAN,
LEVEL_WARN: COLOR_MAGENTA,
LEVEL_ERRO: COLOR_RED,
LEVEL_CRIT: COLOR_HI_RED,
LEVEL_PANI: COLOR_HI_RED,
LEVEL_FATA: COLOR_HI_RED,
}