go 有什么日志库,可以让日志文件按小时/天滚动?

2021-06-13 11:47:52 +08:00
 lishunan246

类似 Python 的 TimedRotatingFileHandler,when='midnight'

4292 次点击
所在节点    Go 编程语言
19 条回复
keakon
2021-06-13 12:19:29 +08:00
so1n
2021-06-13 12:23:22 +08:00
如果是服务器上跑的 一般推荐 logrotate, 不要程序自己处理
SingeeKing
2021-06-13 12:26:00 +08:00
一定要用 logrotate,Python 自带的我遇到过故障
Jirajine
2021-06-13 12:50:06 +08:00
journald
lishunan246
2021-06-13 13:23:52 +08:00
@Jirajine 在 docker 里跑,没有 systemd 那一套
Jirajine
2021-06-13 13:28:53 +08:00
@lishunan246 docker 有各种 log driver,可以 log 到包括 journald 在内的不同后端。
lishunan246
2021-06-13 13:34:08 +08:00
@keakon
@so1n
@SingeeKing
感谢大佬,我学习下
lishunan246
2021-06-13 13:37:04 +08:00
@Jirajine 学习了
不过我的场景倾向于在容器内自行解决,不依赖 docker 和宿主机做出调整
Jirajine
2021-06-13 13:43:05 +08:00
@lishunan246 如果你用 docker 跑应用,让 docker 处理日志是最合适的,你的应用直接输出到 stdout/stderr 就可以了,keep it simple 。
https://docs.docker.com/config/containers/logging/configure/
xuanbg
2021-06-13 16:20:07 +08:00
可以用 ELK/EFK
salmon5
2021-06-13 19:31:52 +08:00
别用 logrotate,这个有系统耦合,是传统解决办法
BadMan
2021-06-13 20:10:06 +08:00
很多 rpc 框架都是用这个
https://github.com/uber-go/zap
halfcrazy
2021-06-13 20:10:47 +08:00
adoal
2021-06-13 22:29:21 +08:00
你自己写的大概率不如 syslog+logrotate 靠谱。
——一位跟行业信息化圈子里水平不高还很自信的业务程序员们搏斗了十多年的稍微懂一点代码的老运维如是说
KickAssTonight
2021-06-14 21:06:20 +08:00
dongtingyue
2021-06-15 10:04:26 +08:00
hellodudu86
2021-06-15 10:16:16 +08:00
我用的 loki+grafana,docker 里面的进程直接输出日志到 stdout 就行
qloog
2021-06-15 12:59:13 +08:00
可以参考: https://github.com/1024casts/snake/tree/master/pkg/log
支持按时间切割,也支持输出到日志和 stdout
back0893
2021-06-28 13:59:37 +08:00
额,自己写的话就是一个定时定时替换 log 的输出对象..

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/783180

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX