2011-10-26 315 views
2

我是Rails的新手,但我有一個現有的Rails應用程序,我想更改它在其中記錄的默認目錄。最簡單的方法是什麼?更改Rails應用程序日誌記錄目錄

+0

它是否必須登錄到其他目錄,或者你可以將該目錄符號鏈接到另一個位置?在生產部署中,我有'logs'目錄符號鏈接到'deploy/shared/logs',這是cap的默認值。 –

+0

是的,符號鏈接可以是一個選項,但有沒有一種方法來明確配置目錄? –

回答

5

在生產服務器上有不同的可能性,日誌目錄通常與通用日誌位置sym連接,如果您想將日誌寫入到rails應用程序之外的目錄,我建議使用它。你當然可以重新初始化您development.rb/production.rb/application.rb中的Rails.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 
9

你可以在你的配置指定一個明確的記錄;

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

這將取代Rails.logger

+1

這對我有效。謝啦! –

0

有關於如何配置記錄器和哪些選項在此Rails Configuration Guide提供良好的細節。

請注意,如果需要,您實際上可以爲active_record/action_controller/active_resource/etc設置不同的記錄器。這還包括有關如何通過配置設置log_level的詳細信息。