滚动切分目前属于实验性特性,如有问题请随时反馈。
之前的章节中我们知道, glog
组件支持通过设置日志文件名称的方式,使得日志文件按照日期进行输出。从 GF v1.12
版本开始, glog
组件也支持对日志文件进行滚动切分的特性,该特性涉及到日志对象配置属性中的以下几个配置项:
RotateSize int64 // Rotate the logging file if its size > 0 in bytes.
RotateExpire time.Duration // Rotate the logging file if its mtime exceeds this duration.
RotateBackupLimit int // Max backup for rotated files, default is 0, means no backups.
RotateBackupExpire time.Duration // Max expire for rotated files, which is 0 in default, means no expiration.
RotateBackupCompress int // Compress level for rotated files using gzip algorithm. It's 0 in default, means no compression.
RotateCheckInterval time.Duration // Asynchronizely checks the backups and expiration at intervals. It's 1 hour in default.
简要说明:
RotateSize
用于设置滚动切分时按照文件大小进行切分,该属性的单位为字节。只有当该属性值大于0时才会开启滚动切分的特性。RotateExpire
用于设置滚动切分时按照文件超过一定时间没有修改时进行切分。只有当该属性值大于0时才会开启滚动切分的特性。RotateBackupLimit
用于设置滚动切分的保留文件数,默认为0表示不保留,往往该值需要设置大于0。超过该保留文件数的切分文件将会按照从旧到新进行删除。RotateBackupExpire
用于设置按照过期时间进行清理。当切分文件超过指定的时间时将会被删除。RotateBackupCompress
用于设置切分文件的压缩级别,默认为0表示不压缩。该压缩级别的取值范围为1-9
,其中9
为最大压缩级别。RotateCheckInterval
用于设置定时器的定时检测间隔,默认为1小时,往往不需要设置。