更改Rails应用程序日志目录

And*_*ich 2 logging ruby-on-rails

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

Mat*_*udy 9

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

my_logger = ActiveSupport::BufferedLogger.new(path)
config.logger = my_logger
Run Code Online (Sandbox Code Playgroud)

这将取代Rails.logger


Mar*_*sen 5

有不同的可能性,在生产服务器上,日志目录通常是sym链接到一般日志位置,如果你想将日志写入rails应用程序之外的目录,我建议使用它.您当然可以Rails.logger将development.rb/production.rb/application.rb中的初始化重新初始化为任何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
Run Code Online (Sandbox Code Playgroud)