从Go Logger中删除时间戳前缀

时间:2018-02-05 19:23:24

标签: go logging timestamp

我正在使用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("")

是否有明显或不那么明显的方法来删除时间戳?

1 个答案:

答案 0 :(得分:13)

使用log.SetFlags删除时间戳。

log.SetFlags(log.Flags() &^ (log.Ldate | log.Ltime))

以上删除了可能设置的任何标志的时间戳。要删除所有标志,包括时间戳,请使用以下命令:

log.SetFlags(0)