【问题标题】:Rolling logs in unicorn在独角兽中滚动日志
【发布时间】:2011-10-13 03:04:56
【问题描述】:

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

在 Unicorn 页面上,我看到建议使用 USR1。关于它的一些澄清:

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

大多数人是否使用 std Unix logrotate 来实现这一点?

【问题讨论】:

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

标签: unicorn


【解决方案1】:

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

在这里寻找解决方案:

关于主要问题,更新的 Rails (3.2+) 也禁用了滚动,所以我建议使用 logrotate;你永远不知道什么时候升级。

logrotate

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-01
    • 2023-03-23
    • 1970-01-01
    • 2012-02-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多