gpt4 book ai didi

ruby-on-rails-3 - Rails 3.2.x : How to change logging levels without restarting the application

转载 作者:行者123 更新时间:2023-12-03 23:36:31 25 4
gpt4 key购买 nike

我想在不重新启动应用程序的情况下更改正在运行的Rails 3.2.x应用程序的日志记录级别。我的目的是在将其恢复为通常的日志记录级别之前,使用它进行短期调试和信息收集。

我还了解到,升序级别是调试,信息,警告,错误和致命,生产服务器记录的信息是info和更高,而开发日志的记录是debug和更高。

我知道如果我运行

Rails.logger.level=:debug #or :info, :warn, :error, :fatal

这会立即更改日志记录级别吗?

如果是这样,我可以通过编写Rake任务来调整日志记录级别来做到这一点,还是需要通过添加路由来支持它?例如在config/routes.rb中:
match "/set_logging_level/:level/:secret" => "logcontroller#setlevel" 

然后在日志 Controller 中设置级别。 (:level是日志记录级别,而:secret在客户端和服务器之间共享,可以防止随机用户调整日志级别)

rake任务还是/set_logging_level,哪个更合适?

最佳答案

由于您必须在运行的Rails实例中更改级别,因此简单的rake任务将无法工作。
我会选择专用路线。

而不是共享 secret ,我将使用应用程序的标准用户身份验证(如果您的应用程序有用户),并限制对管理员/ super 用户的访问。

关于ruby-on-rails-3 - Rails 3.2.x : How to change logging levels without restarting the application,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14590349/

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