前言:go-logger 是一个轻量级的日志库,提供了灵活的日志记录功能与文件备份功能,方便在应用程序中灵活地操作日志。
说明:
[Debug]2024/06/05 11:07:22 logging_test.go:24 this is default logging
this is default logging 2024/06/05 11:07:22 logging_test.go:24[Debug]
this is default logging [Debug] 2024/06/05 11:07:22 logging_test.go:24
[Debug]2024/06/05 11:07:22 logging_test.go:24 >>>>>>> this is default logging
设置日志标识输出格式 SetFormatter
SetFormatter("{level} {time} {file}:{message}\n")
默认格式:"{level} {time} {file}:{message}\n"
{level} 日志级别信息:如 [Debug],[Info],[Warn],[Error],[Fatal]
{time} 日志时间信息
{file} 文件位置行号信息
{message} 日志内容
说明:除了关键标识 {message} {time} {file} {level} 外,其他内容原样输出,如 | , 空格,换行 等
示例1:
SetFormatter("{message} | {level} {time} {file}\n")
Debug("11111111111111")
执行结果:
11111111111111|[Debug] 2024/06/05 11:07:22 logging_test.go:24
示例2
SetFormatter("{level}{time} {file} >>>> {message}\n")
Debug("2222222222222")
执行结果:
[Debug]2024/06/05 11:08:12 logging_test.go:24 >>>> 2222222222222
建议通过option参数设置log的所有参数,更加易于维护
Level :日志级别
Console :控制台打印
Format :日志格式,默认:FORMAT_LEVELFLAG | FORMAT_SHORTFILENAME | FORMAT_DATE | FORMAT_TIME
Formatter :日志输出 默认:"{level} {time} {file}:{mesaage}\n"
FileOption :日志文件接口参数
FileOption为接口,有FileSizeMode与FileTimeMode两个实现对象
Filename 日志文件路径
Timemode 按小时,天,月份:MODE_HOUR,MODE_DAY,MODE_MONTH
Maxbuckup 最多备份日志文件数
IsCompress 备份文件是否压缩
Filename 日志文件路径
Maxsize 日志文件大小的最大值,超过则滚动备份
Maxbuckup 最多备份日志文件数
IsCompress 备份文件是否压缩
SetOption示例1
SetOption(&Option{Level: LEVEL_DEBUG, Console: false, FileOption: &FileTimeMode{Filename: "/usr/log/testlogtime.log", Maxbuckup: 10, IsCompress: true, Timemode: MODE_DAY}})
说明:以上option对象设置日志级别:LEVEL_DEBUG,控制台日志关闭,设置写日志文件,并按天(MODE_DAY)备份日志文件,保持最多10个备份文件,压缩切割的备份文件
SetOption示例2
SetOption(&Option{Level: LEVEL_DEBUG, Console: false, FileOption: &FileSizeMode{Filename: "testlog.log", Maxsize: 1<<30, Maxbuckup: 10, IsCompress: true}})
说明:以上option对象设置日志级别:LEVEL_DEBUG,控制台日志关闭,设置写日志文件,并按大小为 1G 切割日志文件,保持最多10个备份文件,压缩切割的备份文件