我们正在haproxy背后运行一个rails项目。每秒都会向应用程序发送一个keep-alive。这导致非常嘈杂的日志文件,这使得挖掘它有点痛苦,并使它们不必要地大。
我的第一个想法是将该操作的日志记录级别更改为调试,但其他人建议更改around_filter
中的日志记录级别。我对这个想法并不是很疯狂,但它可能就是我实现它的方式。我对不同的解决方案持开放态度,但一般要求是我可以安静地执行这些操作,但如果我因任何原因需要查看它们,我可以更改日志记录级别。
答案 0 :(得分:4)
另一种解决方案是插入一些Rack中间件来处理之前的检查到达Rails ApplicationController生命周期。
步骤1:制作一些响应keep-alive检查的中间件。在我的示例中,保持活动请求是GET /health-check
所以它看起来像:
class HealthCheckMiddleware
def initialize(app)
@app = app
end
def call(env)
if env['PATH_INFO'] == '/health-check'
return [200, {}, ['healthy']]
end
@app.call(env)
end
end
当然,根据需要调整此健康状况检查。也许您需要检查其他Request / CGI变量......
步骤2:确保在 Rails :: Rack :: Logger 之前插入此中间件:
config.middleware.insert_before Rails::Rack::Logger, "HealthCheckMiddleware"
现在,您的中间件将处理运行状况检查,并且您的日志已完全被旁路。