我正在使用Go Logger和一个名为lumberjack的第三方库进行文件轮换:
代码设置记录器:
log.SetOutput(&lumberjack.Logger{
Filename: "/var/log/proxy.log",
MaxSize: 1000, // megabytes
MaxBackups: 3,
MaxAge: 1, // days
Compress: true, // disabled by default
})
我拥有的日志很敏感,所以这是一个日志输出的假设示例:
2018/02/05 19:00:08 "My log"
我公司的日志架构不符合前面的时间戳。我正在从其他资源收集不同的时间戳。我想删除前缀时间戳,以便它只记录:
"My log"
我查看了上面的两个链接,并查看了第三方库伐木工人的来源,并没有找到一种方法来删除它。我在go日志文档中看到了SetPrefix()
功能。我尝试执行以下操作尝试取消时间戳前缀,但失败了:
log.SetPrefix("")
是否有明显或不那么明显的方法来删除时间戳?
答案 0 :(得分:13)
使用log.SetFlags删除时间戳。
log.SetFlags(log.Flags() &^ (log.Ldate | log.Ltime))
以上删除了可能设置的任何标志的时间戳。要删除所有标志,包括时间戳,请使用以下命令:
log.SetFlags(0)