【发布时间】:2013-05-27 16:20:18
【问题描述】:
生产中的 Rails 记录器以大而慢的块写入 production.log。
我怎样才能消除这种乱七八糟的写作?
谢谢
【问题讨论】:
标签: ruby-on-rails debugging logging
生产中的 Rails 记录器以大而慢的块写入 production.log。
我怎样才能消除这种乱七八糟的写作?
谢谢
【问题讨论】:
标签: ruby-on-rails debugging logging
默认情况下,Rails 记录器会在生产环境中进行缓冲,以免 io 子系统被日志淹没。它仍应在每次请求后刷新日志(或在 1000 行之后,无论先出现什么)
您可以通过在初始化程序中设置 auto_flushing 设置来控制此缓冲区:
Rails.logger.auto_flushing = 10
这会将记录器设置为在 10 个日志行后刷新。虽然您可以将其设置为 1,但在生产环境中这样做可能不是一个好主意。
【讨论】:
write 调用,该调用最终会写入底层文件系统。何时发生取决于内核/文件系统。