2011-10-13 85 views
0

使用Rails 2.3.5和Unicorn每日滚动日志的最佳方式是什么?如果有多个Unicorn实例正在运行,则通用日志滚动参数到Logger类不起作用,因为所有工作人员都不会重置其文件句柄。在独角兽滚动日志

在独角兽的网页上,我看到建议使用USR1。关于它的一些说明:

  • 这是否会导致日志文件以新名称滚动并且新的日志文件被打开?
  • 每当发生翻转时,我仍然有将现有日志重命名为下一个版本的问题。

大多数人使用std Unix logrotate来实现这个吗?

+0

我很想用“更有创意”的标题进行编辑。 – BoltClock

回答

0

你可能已经这样做了,但首先你应该让每个工作者登录到不同的文件(不要混合日志)。我认为(不完全确定)Rails 2.3使用旧版本的BufferedLogger进行日志记录,该日志具有一些避免这种日志分离的清除功能。但是从Rails 3.2开始,刷新是在操作系统级完成的,因此不能依赖于在同一文件中正确打印的日志。

在这里寻找解决方案上:

在的主要问题,轧钢也已为新的Rails(3.2以上版本)禁用,因此我建议使用日志轮播;你永远不知道你什么时候升级。

logrotate