我们一直在使用 unicorn 来部署我们的应用程序。一切都很好,除了 production.log 文件,由于独角兽的设计方式,该文件不可读。unicorn 的每个实例都写入同一个文件,导致所有行意大利面化在一起。
那么有没有办法告诉记录器跨多个独角兽实例独立记录?
我们一直在使用 unicorn 来部署我们的应用程序。一切都很好,除了 production.log 文件,由于独角兽的设计方式,该文件不可读。unicorn 的每个实例都写入同一个文件,导致所有行意大利面化在一起。
那么有没有办法告诉记录器跨多个独角兽实例独立记录?
编辑您的unicorn.conf.rb
, 并将after_fork
块更改为:
after_fork do |server, worker|
filepath = "#{Rails.root}/log/#{Rails.env}.#{worker.nr}.log"
Rails.logger = Logger.new(filepath, File::WRONLY | File::APPEND)
ActiveSupport::LogSubscriber.logger = Rails.logger
ActionController::Base.logger = Rails.logger
ActionMailer::Base.logger = Rails.logger
ActiveResource::Base.logger = Rails.logger
end