morristech
2/24/2020 - 11:41 PM

Customize DelayedJob's logger.

Customize DelayedJob's logger.

# if you wanna use syslog, you can rewrite by syslogger.
if Rails.env.production?
  module Delayed::Backend::ActiveRecord
    class Job 
      class << self
        def after_fork
          logger = Syslogger.new("#{Rails.env}.delayed_job", Syslog::LOG_PID, Syslog::LOG_LOCAL2)
          Rails.logger = logger
          Delayed::Worker.logger = logger
          # can't call super
          ::ActiveRecord::Base.establish_connection
        end 
      end 
    end 
  end 
end