dsjq6977 2018-02-05 19:23
浏览 249
已采纳

从Go Logger移除时间戳前缀

I am utilizing Go Logger and a third party library called lumberjack for file rotation:

Code Setting up the logger:

log.SetOutput(&lumberjack.Logger{
  Filename:   "/var/log/proxy.log",
  MaxSize:    1000, // megabytes
  MaxBackups: 3,
  MaxAge:     1, // days
  Compress:   true, // disabled by default
})

The logs I have are sensitive, so here is a hypothetical example of the output of a log:

 2018/02/05 19:00:08 "My log" 

The logging schema for my company does not comply with having a timestamp in the front. I am gathering a different timestamp from other resources. I would like to remove the prefixed timestamp so that it only logs:

"My log"

I've looked through both links above, and looked through the source of the third party library lumberjack, and have not discovered a way to remove this. I saw the SetPrefix() funtion in the go log documentation. I tried doing the following to try and cancel the timestamp prefix, but it failed:

log.SetPrefix("")

Is there any obvious or not so obvious way to remove the timestamp?

  • 写回答

1条回答 默认 最新

  • duankang8114 2018-02-05 19:32
    关注

    Use log.SetFlags to remove the timestamp.

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

    The above removes the timestamp from whatever flags might be set. To remove all flags, including the timestamp, use the following:

    log.SetFlags(0)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器
  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
  • ¥15 Vue3地图和异步函数使用
  • ¥15 C++ yoloV5改写遇到的问题
  • ¥20 win11修改中文用户名路径
  • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
  • ¥15 帮我写一个c++工程