Method: Applicaster::Logger::Sidekiq.setup

Defined in:
lib/applicaster/logger/sidekiq.rb

.setup(logger) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/applicaster/logger/sidekiq.rb', line 9

def self.setup(logger)
  ::Sidekiq::Logging.logger = logger
  ::Sidekiq.configure_server do |config|
    config.error_handlers.delete_if { |h| h.is_a?(::Sidekiq::ExceptionHandler::Logger) }
    ::Sidekiq.error_handlers << Applicaster::Logger::Sidekiq::ExceptionLogger.new

    config.server_middleware do |chain|
      chain.prepend Applicaster::Logger::Sidekiq::ThreadContext
    end

    if Gem::Version.new(::Sidekiq::VERSION) < Gem::Version.new("5.0")
      require 'sidekiq/api'
      config.server_middleware do |chain|
        chain.remove ::Sidekiq::Middleware::Server::Logging
        chain.add Applicaster::Logger::Sidekiq::Middleware::Server::LogstashLogging
      end
    else
      ::Sidekiq.options[:job_logger] = ::Applicaster::Logger::Sidekiq::JobLogger
    end
  end
end