Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 更改Rails应用程序日志目录_Ruby On Rails_Logging - Fatal编程技术网

Ruby on rails 更改Rails应用程序日志目录

Ruby on rails 更改Rails应用程序日志目录,ruby-on-rails,logging,Ruby On Rails,Logging,我是Rails新手,但我有一个现有的Rails应用程序,我想更改它记录的默认目录。最简单的方法是什么?有不同的可能性,在生产服务器上,日志目录通常是sym链接到一般日志位置的,如果您想将日志写入rails应用程序之外的目录,我建议您这样做。当然,您可以将development.rb/production.rb/application.rb中的Rails.logger重新初始化到任何logger/IOStream: Rails.logger = Logger.new STDOUT #or File

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

有不同的可能性,在生产服务器上,日志目录通常是sym链接到一般日志位置的,如果您想将日志写入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

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

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

这将取代Rails。logger

关于如何配置logger,以及在本教程中提供了哪些选项,有很多详细信息


注:如果需要,您可以为活动\u记录/操作\u控制器/活动\u资源/等设置不同的记录器。这还包括有关如何通过配置设置日志级别的详细信息。

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