我永远使用启动nodeJs服务器并选择日志文件:
永远-l /home/api/log/api_output.log启动server.js
我每天都使用logrotate移动日志文件(比如建议:NodeJS/Forever archive logs),一天后我的目录是这样的:
-rw-r - r-- 1 root root 0 avril 18 12:00 api_output.log
-rw-r - r-- 1 root root 95492 avril 18 12:01 api_output.log-20140418
因此,循环工作正常,但日志消息现在用api_output.log-20140418编写,而不是api_output.log
也许有人可以帮助我?
答案 0 :(得分:19)
我忘记了配置文件中的copytruncate选项,现在它正在运行:
/etc/logrotate.d/api:
/home/api/log/api_output.log {
#size 50k
daily
dateext
missingok
rotate 7
compress
delaycompress
notifempty
#create 644 root
copytruncate
}
答案 1 :(得分:0)
我认为这是因为永远和日志文件之间的生活流。
永远使用文件流来记录日志文件。并且您通过logrotate重命名了此文件。但流不会改变。 所以日志消息是用api_output.log-20140418编写的。
如果要更改流,则应按node.js代码轮换,或使用管道。