颜色打印

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

效果示例

  1. package main
  2. import (
  3. "context"
  4. "github.com/gogf/gf/v2/frame/g"
  5. )
  6. func main() {
  7. ctx := context.TODO()
  8. g.Log().Debug(ctx, "Debug")
  9. g.Log().Info(ctx, "Info")
  10. g.Log().Notice(ctx, "Notice")
  11. g.Log().Warning(ctx, "Warning")
  12. g.Log().Error(ctx, "Error")
  13. }

日志组件-颜色打印 - 图1

使用配置

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

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

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

也可以在代码中添加

  1. g.Log().SetWriterColorEnable(true)

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

日志组件-颜色打印 - 图2

默认颜色对应表

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

  1. // \v2\os\glog\glog_logger_color.go
  2. var defaultLevelColor = map[int]int{
  3. LEVEL_DEBU: COLOR_YELLOW,
  4. LEVEL_INFO: COLOR_GREEN,
  5. LEVEL_NOTI: COLOR_CYAN,
  6. LEVEL_WARN: COLOR_MAGENTA,
  7. LEVEL_ERRO: COLOR_RED,
  8. LEVEL_CRIT: COLOR_HI_RED,
  9. LEVEL_PANI: COLOR_HI_RED,
  10. LEVEL_FATA: COLOR_HI_RED,
  11. }