滚动登录独角兽

时间:2011-10-13 03:04:56

标签: unicorn

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

在Unicorn页面上,我看到了USR1的建议。对它的一些澄清:

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

大多数人使用std Unix logrotate来实现这一目标吗?

1 个答案:

答案 0 :(得分:0)

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

在这里寻找解决方案:

在主要问题上,对于较新的Rails(3.2+)也已禁用滚动,因此我建议使用logrotate;你永远不知道什么时候升级。

logrotate