gpt4 book ai didi

ruby-on-rails-3 - 防止 Rails 生产日志交错记录来自不同请求的最佳方法是什么?

转载 作者:行者123 更新时间:2023-12-01 05:30:39 25 4
gpt4 key购买 nike

在 rails 3.2 之前,默认情况下这是禁止的。对于 rails 3.2,似乎没有明确的解决方案。在介绍更改的提交中的评论中,Aaron 建议使用进程 pid 和/或请求 uuid 标记日志行,这不能满足我们的操作人员的要求。我已经看到了一些随机的解决方案,但目前还不清楚它们解决问题的效果如何。这似乎是每个人都会遇到的一个相当平庸的问题;其他人推荐什么解决方案?其他人是否只是依靠 NewRelic 来记录他们关心的数据?

Aaron's Commit

最佳答案

我们最终编写了一个稍微可怕的补丁来恢复旧的行为:

config.after_initialize do

# Reverse the deprecation of flush in BufferedLogger
module ActiveSupport
class BufferedLogger
def flush
@log_dest.flush
end
def respond_to?(method, include_private = false)
super
end
end
end

# Let the OS buffer the log
Rails.logger.instance_variable_get(:@logger).instance_variable_get(:@log_dest).sync = false
end

关于ruby-on-rails-3 - 防止 Rails 生产日志交错记录来自不同请求的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11366635/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com