如何在rails应用程序加载config.logger之前创建日志文件夹


  1. 我有一个rails应用程序。我正在使用Jruby/Warble/Jetty来创建可执行的war文件。将战争文件复制粘贴到一个单独的文件夹中
  2. 我希望应用程序在war文件之外登录。所以我使用这个链接中的解决方案

3.

config.logger = ActiveSupport::BufferedLogger.new(File.join(ENV['RAILS_ENV'], "#{Rails.root}/logs/#{ENV['RAILS_ENV']}.log"))
  1. 当rails服务器启动时。它说"自动创建日志目录在rails中已经被弃用"。查看Kevin Bedell的答案

如何在rails应用程序启动时创建文件夹,以便在应用程序启动后创建文件夹,并且日志可以访问创建的文件夹。

我应该在\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"))

有关文件中的"a+",请参阅此链接

您也可以使用config/application.rb链接

最新更新