我最近设置了以下 logrotate 作业:
/var/log/app.*.log {
daily
rotate 7
copytruncate
nocompress
dateext
}
我发现当我查看日志文件时,它们以一些二进制垃圾开始。我必须使用 --text 来 grep 并在 vim 中加载文件需要很长时间。
这是预期的吗?我可以采取什么措施来预防吗?
注意:日志曾经是utf8文本文件。
我也遇到了同样的问题。我发现问题是我输出到日志而不是附加。例如:
./application > 日志文件.log
当它应该是:
./application >> 日志文件.log
发生的情况是 logrotate 上的 copytruncate 移动文件,然后输出似乎尝试写入相同的位置并用大量十六进制绒毛填充文件。这会将要检测的文件更改为二进制文件而不是文本文件。
改成append后,就没有再出现这个问题了。
是的,附加日志对我有用。但是有没有其他方法可以通过更改 logrotate 文件中的任何配置来解决此问题?