Sha256: 05031103c6f5bdda9663e8d815e4535ddf6e957584c3551e2d9af42cd25610d1

Contents?: true

Size: 977 Bytes

Versions: 21

Compression:

Stored size: 977 Bytes

Contents

require 'time'
require 'logger'

module Sidekiq
  module Logging

    class Pretty < Logger::Formatter
      # Provide a call() method that returns the formatted message.
      def call(severity, time, program_name, message)
        "#{time.utc.iso8601} #{Process.pid} TID-#{Thread.current.object_id.to_s(36)}#{context} #{severity}: #{message}\n"
      end

      def context
        c = Thread.current[:sidekiq_context]
        c ? " #{c}" : ''
      end
    end

    def self.with_context(msg)
      begin
        Thread.current[:sidekiq_context] = msg
        yield
      ensure
        Thread.current[:sidekiq_context] = nil
      end
    end

    def self.logger
      @logger ||= begin
        log = Logger.new(STDOUT)
        log.level = Logger::INFO
        log.formatter = Pretty.new
        log
      end
    end

    def self.logger=(log)
      @logger = (log ? log : Logger.new('/dev/null'))
    end

    def logger
      Sidekiq::Logging.logger
    end

  end
end

Version data entries

21 entries across 21 versions & 2 rubygems

Version Path
sidekiq-2.5.4 lib/sidekiq/logging.rb
sidekiq-2.5.3 lib/sidekiq/logging.rb
sidekiq-2.5.2 lib/sidekiq/logging.rb
sidekiq-2.5.1 lib/sidekiq/logging.rb
sidekiq-2.5.0 lib/sidekiq/logging.rb
sidekiq-2.4.0 lib/sidekiq/logging.rb
sidekiq-2.3.3 lib/sidekiq/logging.rb
sidekiq-2.3.2 lib/sidekiq/logging.rb
sidekiq-2.3.1 lib/sidekiq/logging.rb
sidekiq-2.3.0 lib/sidekiq/logging.rb
sidekiq-2.2.1 lib/sidekiq/logging.rb
sidekiq-2.2.0 lib/sidekiq/logging.rb
sidekiq-2.1.1 lib/sidekiq/logging.rb
sidekiq-2.1.0 lib/sidekiq/logging.rb
sidekiq-2.0.3 lib/sidekiq/logging.rb
sidekiq-2.0.2 lib/sidekiq/logging.rb
sidekiq-2.0.1 lib/sidekiq/logging.rb
sidekiq-2.0.0 lib/sidekiq/logging.rb
kulesa-sidekiq-1.2.3 lib/sidekiq/logging.rb
kulesa-sidekiq-1.2.2 lib/sidekiq/logging.rb