2011-10-26 160 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的详细信息。