从Go Logger中删除时间戳前缀

从Go Logger中删除时间戳前缀,go,logging,timestamp,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 }) 我

我正在利用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("")
是否有任何明显或不那么明显的方法来删除时间戳

用于删除时间戳

log.SetFlags(log.Flags() &^ (log.Ldate | log.Ltime))
以上内容将从可能设置的任何标志中删除时间戳。要删除所有标志(包括时间戳),请使用以下命令:

log.SetFlags(0)

谢谢,这正是我想要的!您能解释一下它是如何根据发送给
log.SetFlags(int)
的参数删除时间戳的吗?@fanudutoit表达式
log.Flags()&^(log.Ldate | log.Ltime)
使用位清除运算符从当前标志中清除Ldata和Ltime标志。看起来您还可以使用
log.SetFlags(0)