我有以下Procfile:
web: bundle exec rails s -p $PORT -e $RAILS_ENV Puma
action_cable: bundle exec puma -p $ACTIONCABLE_PORT cable/config.ru
sidekiq: bundle exec sidekiq
action_cable
进程和web
rails进程都使用通过.bashrc变量导出的$ RAILS_ENV变量,设置环境rails引导。因此,运行工头开始加载action_cable
和web
的测试环境。但是,我希望actioncable使用:info
日志级别,我希望web rails进程使用fatal
。
有没有办法可以启动这两个进程并使用ENV或进程信息来动态设置日志级别?
像(伪代码):
# environments/test.rb
config.logger = ActiveSupport::TaggedLogging.new(ActiveSupport::Logger.new(STDOUT))
if Process.port == 28080
config.log_level = :info
Sidekiq::Logging.logger.level = Logger::INFO
else
config.log_level = :fatal
Sidekiq::Logging.logger.level = Logger::FATAL
end