2015年每天轮换Rails日志文件的最佳方法

时间:2015-02-05 06:30:03

标签: ruby-on-rails ruby logging logrotate log-rotation

每天轮换Ruby on Rails日志文件的最佳方法是什么?

我过去看过帖子。他们建议使用logrotate并启用copytruncate选项以避免重新启动Rails。

但是,在复制文件和截断文件之间的小时间段内,日志会丢失。

我的项目要求不会丢失日志,因此我们选择cronolog使用ruby的stdlib Logger。 代码如下:

config.logger = Logger.new(IO.popen("/usr/sbin/cronolog #{config.paths['log'].first}.%Y%m%d", "w"))

它大部分都能正常工作,但是当记录数据大小超过PIPE_BUF因为使用PIPE时,日志会混合。

那么在这种情况下推荐使用什么方法来旋转日志呢?

0 个答案:

没有答案