我正在尝试按照这三个链接建议的方式更改我的 Unicorn 配置文件,以更改 Unicorn 日志记录:
- http://pivotallabs.com/how-to-split-up-rails-3-x-by-unicorn-workers/
- 如何让我的 Rails 应用程序的每个独角兽工作者登录到不同的文件?
- https://gist.github.com/mudge/5063930
它们都遵循相同的模式(我正在尝试第一个模式),但是当我将它们添加到我的配置中时,我会得到 Unicorn 一遍又一遍地重复相同的消息:
ERROR -- : uninitialized constant Unicorn::Configurator::Rails (NameError)
堆栈跟踪指向 Unicorn 日志文件中第一次使用 Rails。我做错了什么,或者我需要改变什么才能让这些片段正常工作?
我正在使用 Rails 3.2.14,并使用以下方法调用我的服务器:
bundle exec unicorn -c config/unicorn.rb
使用unicorn_rails
而不是unicorn
没有区别(同样的错误)。我的配置如下所示:
worker_processes 20
listen ".../unicorn.socket", :backlog => 64
timeout 30
pid ...
stderr_path ...
stdout_path ...
GC.respond_to?(:copy_on_write_friendly=) and
GC.copy_on_write_friendly = true
check_client_connection false
before_fork do |server, worker|
# No code
end
after_fork do |server, worker|
defined?(ActiveRecord::Base) and
ActiveRecord::Base.establish_connection
# Snippet from the links above, error occurs within here
if defined?(ActiveSupport::TaggedLogging) && Rails.logger.kind_of?(ActiveSupport::TaggedLogging)
...
end
end