永远的日志和logrotate

我永远使用启动我的nodeJs服务器,我select日志文件:

永远-l /home/api/log/api_output.log启动server.js

我使用logrotate每天移动日志文件(比如build议这里: NodeJS / Forever归档日志 ),有一天我的目录是这样的:

-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

也许有人可以帮助我?

我忘了copytruncate选项在我的configuration文件,现在它的工作:

/etc/logrotate.d/api:

 /home/api/log/api_output.log { #size 50k daily dateext missingok rotate 7 compress delaycompress notifempty #create 644 root copytruncate } 

我想这是因为永远和日志文件之间的生活stream。

永远使用文件stream来logging文件。 你用logrotate重命名这个文件。 但是stream不会改变。 所以日志消息被写入api_output.log-20140418。

如果你想改变stream,你应该通过node.js代码,或使用pipe道。