如何在 rails 应用程序加载 config.logger 之前创建日志文件夹
How to create a log folder before rails application loads the config.logger
- 我有一个 rails 应用程序。我正在使用 Jruby/Warble/Jetty 创建可执行 war 文件。将 war 文件复制粘贴到一个单独的文件夹中。
- 我希望应用程序在 war 文件之外登录。所以我正在使用这个 LINK
的解决方案
3.
config.logger = ActiveSupport::BufferedLogger.new(File.join(ENV['RAILS_ENV'], "#{Rails.root}/logs/#{ENV['RAILS_ENV']}.log"))
- 当 rails 服务器启动时。它说 "Automatic creation of logging directories has been deprecated in rails"。 SEE Kevin Bedell Answer
如何在 rails 应用程序启动时创建文件夹,以便在应用程序启动时创建文件夹并且日志可以访问创建的文件夹。
我应该在\config下的哪个文件夹中的什么地方添加代码,以便它加载先创建目录然后使用配置的代码?谢谢。
复制粘贴config/environments/development.rb
log_file_name = "#{Rails.root}/logs/#{ENV['RAILS_ENV']}.log"
unless File.exist?(File.dirname(log_file_name))
FileUtils.mkdir_p(File.dirname(log_file_name))
File.new(log_file_name, 'a+')
end
config.logger = ActiveSupport::BufferedLogger.new(File.join("#{Rails.root}", "logs", "#{ENV['RAILS_ENV']}.log"))
对于 File.new 中的 'a+',请参阅此 LINK
您也可以使用 config/application.rb LINK
- 我有一个 rails 应用程序。我正在使用 Jruby/Warble/Jetty 创建可执行 war 文件。将 war 文件复制粘贴到一个单独的文件夹中。
- 我希望应用程序在 war 文件之外登录。所以我正在使用这个 LINK 的解决方案
3.
config.logger = ActiveSupport::BufferedLogger.new(File.join(ENV['RAILS_ENV'], "#{Rails.root}/logs/#{ENV['RAILS_ENV']}.log"))
- 当 rails 服务器启动时。它说 "Automatic creation of logging directories has been deprecated in rails"。 SEE Kevin Bedell Answer
如何在 rails 应用程序启动时创建文件夹,以便在应用程序启动时创建文件夹并且日志可以访问创建的文件夹。
我应该在\config下的哪个文件夹中的什么地方添加代码,以便它加载先创建目录然后使用配置的代码?谢谢。
复制粘贴config/environments/development.rb
log_file_name = "#{Rails.root}/logs/#{ENV['RAILS_ENV']}.log"
unless File.exist?(File.dirname(log_file_name))
FileUtils.mkdir_p(File.dirname(log_file_name))
File.new(log_file_name, 'a+')
end
config.logger = ActiveSupport::BufferedLogger.new(File.join("#{Rails.root}", "logs", "#{ENV['RAILS_ENV']}.log"))
对于 File.new 中的 'a+',请参阅此 LINK
您也可以使用 config/application.rb LINK