日志组件是 GoFrame
框架核心的组件之一,支持非常方便的配置管理能力。
配置文件(推荐)
日志的配置使用的是框架统一的配置组件,支持多种文件格式,也支持配置中心、接口化扩展等特性,更多细节请参考章节: 配置管理
日志组件支持配置文件,当使用 g.Log(单例名称)
获取 Logger
单例对象时,将会自动通过默认的配置管理对象获取对应的 Logger
配置。默认情况下会读取 logger.单例名称
配置项,当该配置项不存在时,将会读取默认的 logger
配置项。配置项请参考配置对象结构定义: https://pkg.go.dev/github.com/gogf/gf/v2/os/glog#Config
完整配置文件配置项及说明如下,其中配置项名称不区分大小写:
logger:
path: "/var/log/" # 日志文件路径。默认为空,表示关闭,仅输出到终端
file: "{Y-m-d}.log" # 日志文件格式。默认为"{Y-m-d}.log"
prefix: "" # 日志内容输出前缀。默认为空
level: "all" # 日志输出级别
timeFormat: "2006-01-02T15:04:05" # 自定义日志输出的时间格式,使用Golang标准的时间格式配置
ctxKeys: [] # 自定义Context上下文变量名称,自动打印Context的变量到日志中。默认为空
header: true # 是否打印日志的头信息。默认true
stdout: true # 日志是否同时输出到终端。默认true
rotateSize: 0 # 按照日志文件大小对文件进行滚动切分。默认为0,表示关闭滚动切分特性
rotateExpire: 0 # 按照日志文件时间间隔对文件滚动切分。默认为0,表示关闭滚动切分特性
rotateBackupLimit: 0 # 按照切分的文件数量清理切分文件,当滚动切分特性开启时有效。默认为0,表示不备份,切分则删除
rotateBackupExpire: 0 # 按照切分的文件有效期清理切分文件,当滚动切分特性开启时有效。默认为0,表示不备份,切分则删除
rotateBackupCompress: 0 # 滚动切分文件的压缩比(0-9)。默认为0,表示不压缩
rotateCheckInterval: "1h" # 滚动切分的时间检测间隔,一般不需要设置。默认为1小时
stdoutColorDisabled: false # 关闭终端的颜色打印。默认开启
writerColorEnable: false # 日志文件是否带上颜色。默认false,表示不带颜色
其中, level
配置项使用字符串配置,按照日志级别支持以下配置: DEBU
< INFO
< NOTI
< WARN
< ERRO
< CRIT
,也支持 ALL
, DEV
, PROD
常见部署模式配置名称。 level
配置项字符串不区分大小写。关于日志级别的详细介绍请查看 日志组件-日志级别 章节。