【问题标题】:Change Rails application logging directory更改 Rails 应用程序日志目录
【发布时间】:2011-10-26 06:47:18
【问题描述】:

我是 Rails 新手,但我有一个现有的 Rails 应用程序,我想更改它记录的默认目录。最简单的方法是什么?

【问题讨论】:

  • 它是否必须登录到另一个目录,或者您可以将目录符号链接到另一个位置吗?在生产部署中,我将 logs 目录符号链接到 deploy/shared/logs 这是 cap 的默认值。
  • 是的,符号链接可能是一个选项,但有没有办法明确配置目录?

标签: ruby-on-rails logging


【解决方案1】:

您可以在配置中指定显式记录器;

my_logger = ActiveSupport::BufferedLogger.new(path)
config.logger = my_logger

这将取代 Rails.logger

【讨论】:

    【解决方案2】:

    有不同的可能性,在生产服务器上,日志目录通常符号链接到一般日志位置,如果您想将日志写入 Rails 应用程序之外的目录,我建议您这样做。您当然可以将 development.rb/production.rb/application.rb 中的 Rails.logger 重新初始化为任何 Logger / IOStream:

    Rails.logger = Logger.new STDOUT #or File.open('somewhere/production.log', 'a'), i think it should even work with a stream of a tcp socket
    

    【讨论】:

      【解决方案3】:

      Rails Configuration Guide 中有关于如何配置记录器以及可用选项的详细信息。

      请注意,如果您愿意,您实际上可以为 active_record / action_controller / active_resource / 等设置不同的记录器。这还包括有关如何通过配置设置 log_level 的详细信息。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-06-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-02-05
        相关资源
        最近更新 更多