我想在不重新启动应用程序的情况下更改正在运行的 Rails 3.2.x 应用程序的日志记录级别。我的意图是在将其恢复到通常的日志记录级别之前使用它进行短时间调试和信息收集。
我还知道,按升序排列的级别是调试、信息、警告、错误和致命,生产服务器记录信息和更高,而开发记录调试和更高。
我明白如果我跑
Rails.logger.level=:debug #or :info, :warn, :error, :fatal
这会立即更改日志记录级别吗?
如果是这样,我可以通过编写 Rake 任务来调整日志记录级别来做到这一点,还是需要通过添加路由来支持这一点?例如在 config/routes.rb 中:
match "/set_logging_level/:level/:secret" => "logcontroller#setlevel"
然后在日志控制器中设置级别。(:level 是日志级别, :secret 在客户端和服务器之间共享,是为了防止随机用户调整日志级别)
rake task 还是 /set_logging_level 哪个更合适?