阅读(1134) (16)

GoFrame 日志组件-颜色打印

2022-03-29 13:53:45 更新

颜色打印

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

效果示例

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")
}

image2021-12-31_10-51-10

使用配置

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

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

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

也可以在代码中添加

g.Log().SetWriterColorEnable(true)

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

image2021-8-17_13-37-55

默认颜色对应表

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

// \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,
}