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

我拥有的日志(log)是敏感的,所以下面是一个日志(log)输出的假设示例:

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

我公司的日志(log)记录架构不符合前面有时间戳的要求.我正在从其他资源收集不同的时间戳.我想删除前缀时间戳,以便它只记录:

"My log"

我已经查看了上面的两个链接,并查看了第三方库Lumberjack的源代码,但还没有找到删除它的方法.我在围棋日志(log)文档中看到了SetPrefix()函数.我try 执行以下操作以try 取消时间戳前缀,但失败了:

log.SetPrefix("")

有没有什么明显或不明显的方法来删除时间戳?

推荐答案

使用log.SetFlags删除时间戳.

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

上面的操作从可能设置的任何标志中删除时间戳.要删除所有标志,包括时间戳,请使用以下命令:

log.SetFlags(0)

Go相关问答推荐

Go PQ驱动程序无法使用默认架构进行查询

GO框架Echo中间件的使用

nixOS 上的 Nginx 反向代理在try 加载 css/js 时返回 404

死锁 - 所有 goroutine 都处于睡眠状态(即使使用等待组)

go-jwt 令牌验证错误 - 令牌签名无效:密钥类型无效

在VSCode中如何使用特定的文件名提供编译命令

Go test "-run -" 标志执行测试更快

GitHub 中 REST API 的 aws 凭证问题

判断不同 go map 类型中的重复键

我如何使用 TOML fixtures 在使用 Go Buffalo 框架的开发环境中为我的数据库 seeder ?

设置指向空接口的指针

如何将一片 map 转换为一片具有不同属性的 struct

来自洪流公告的奇怪同行字段

如何通过组合来自不同包的接口来创建接口?

Golang 使用 docker 将敏感数据作为参数传递

Go 加密库创建的 PKCS1 公钥与openssl rsa ...之间的区别

如何优雅地映射到 Go 中返回可变长度数组的方法?

如何在 Gorm 中获得特定日期的最大值?

golangci-lint 的 GitHub 操作失败,无法加载 fmt

并发 map map导致的 Golang 数据竞争