类似 log4j/logback 那种的
1
waising Jan 18, 2022
|
2
z657386160z Jan 18, 2022
|
3
zoharSoul OP @z657386160z #2 这个是按文件大小的.
|
4
exkernel Jan 18, 2022
|
5
mcfog Jan 18, 2022 |
7
janxin Jan 18, 2022
|
8
lwch Jan 18, 2022
|
9
adoal Jan 18, 2022
如果不考虑 Windows ,只在 Linux 运行的话,不如打到 syslog 里去,通过 logrotate 任务来切分。
能用运维手段解决的就没必要用开发手段解决。运维手段用的基础设施往往是久经考验的。 |
11
adoal Jan 18, 2022 via iPhone
好吧,对运维方式处理问题不感兴趣的纯程,byebye
|
12
quzard Jan 18, 2022 via Android
uber 开源的 zap 日志库
|
14
Immortal Jan 18, 2022
为什么就不考虑 linux 系统里自带又好用的 logrorate
|
15
securityCoding Jan 18, 2022 via Android
@Immortal +1
|
16
my3157 Jan 18, 2022 via Android
logrotate + signal ,完美解决
|
17
dingyaguang117 Jan 18, 2022 via iPhone
我写了一个,原理大概就是 加锁 和 rename
|
18
xuyang9978 Jan 18, 2022 via iPhone
#1 的那个也不错,使用很方便,不过作者已经不维护了
|
19
hululu Jan 22, 2022
const rotate = "00 00 00 * * *"
func RotateCrond(logger *lumberjack.Logger, rotate string) { rotateCrondOnce.Do(func() { c := cron.New(cron.WithSeconds()) _, _ = c.AddFunc(rotate, func() { _ = logger.Rotate() }) c.Start() }) } |
20
SillyChenBrother Feb 18, 2022
我觉得很多都不好用,就自己写了一个。
支持日志输出到控制台或文件,支持很多配置,如打印函数调用行,配置日志级别等。 支持日志层级输出到不同文件,且支持文件切割,清除过期日志文件等。 使用接口契约,你可以自行再次封装该库,我留有 SetCallerSkip 给你继续封装。 https://github.com/hunterhug/golog |