Logging 什么';这是“什么?”;官方";如何在Heroku上支持Unicorn而不丢失日志记录?
我们切换到Unicorn,但失去了Heroku上的所有应用程序登录。我在谷歌上搜索了一下,了解到Heroku的Ruby buildpack安装了一个插件“rails\u log\u stdout”,这对Unicorn来说不太好。我猜这可能与独角兽的分叉特性有关,但我没有证实这一点Logging 什么';这是“什么?”;官方";如何在Heroku上支持Unicorn而不丢失日志记录?,logging,heroku,ruby-on-rails-3.2,unicorn,Logging,Heroku,Ruby On Rails 3.2,Unicorn,我们切换到Unicorn,但失去了Heroku上的所有应用程序登录。我在谷歌上搜索了一下,了解到Heroku的Ruby buildpack安装了一个插件“rails\u log\u stdout”,这对Unicorn来说不太好。我猜这可能与独角兽的分叉特性有关,但我没有证实这一点 各种变通方法,如建议的。这些让我感到不满意,因为它们不会使用Rails应用程序中定义的日志级别或任何标记,也不会使用记录器格式覆盖等。对我来说,这似乎有点暴力。“官方”的方法是什么?这就是我如何重新实例化记录器以避免丢
各种变通方法,如建议的。这些让我感到不满意,因为它们不会使用Rails应用程序中定义的日志级别或任何标记,也不会使用记录器格式覆盖等。对我来说,这似乎有点暴力。“官方”的方法是什么?这就是我如何重新实例化记录器以避免丢失日志级别或日志标记的方法。我必须在每个环境文件中分别执行此操作,
production.rb
,staging.rb
(如果有)等等
我不喜欢这个。我希望在Unicorn中有更优雅的东西。这就是我如何重新实例化记录器,以避免丢失日志记录级别或loggin标记。我必须在每个环境文件中分别执行此操作,
production.rb
,staging.rb
(如果有)等等
我不喜欢这个。我希望有更优雅的东西被烤进Unicorn。我昨晚跟着,我可以看到日志很好地通过。什么版本的rails和Unicorn?我将一个应用程序切换到Unicorn,但仍然可以看到我的日志我们正在使用Rails 3.2.11和Unicorn 4.6.2。我必须在production.rb文件中重新实例化记录器。然后我就开始工作了。谢谢你给Heroku邮报的链接。那是我们做这件事几天后写的,但是我们已经有了基本的结构,它没有说任何关于日志的内容。@WolframArnold你能解释一下你是如何在
production.rb
中重新实例化日志的吗?我要为这个问题添加一个答案。我昨晚跟踪了,我可以看到日志运行得很好。什么版本的rails和unicorn?我将一个应用程序切换到Unicorn,但仍然可以看到我的日志我们正在使用Rails 3.2.11和Unicorn 4.6.2。我必须在production.rb文件中重新实例化记录器。然后我就开始工作了。谢谢你给Heroku邮报的链接。这是我们做这件事几天后写的,但我们已经有了基本结构,它没有说任何关于日志记录的内容。@WolframArnold你能解释一下你是如何在production.rb
中重新实例化日志记录程序的吗?我要补充一个答案。
MyApp::Application.configure do
# ...
logger = Logger.new(STDOUT)
logger = ActiveSupport::TaggedLogging.new(logger) if defined?(ActiveSupport::TaggedLogging)
config.logger = logger
log_level_env_override = Logger.const_get(ENV['LOG_LEVEL'].try(:upcase)) rescue nil
config.logger.level = log_level_env_override || Logger.const_get(Rails.configuration.log_level.to_s.upcase)
# ...
end