Sha256: a67fe61eb4494af634c7ecbf0b2224edf32672325800ae8f20a9668a0b690bc6

Contents?: true

Size: 842 Bytes

Versions: 73

Compression:

Stored size: 842 Bytes

Contents

require 'logger'

module Protobuf
  module Logging
    def self.initialize_logger(log_target = $stdout, log_level = ::Logger::INFO)
      @logger = Logger.new(log_target)
      @logger.level = log_level
      @logger
    end

    def self.logger
      defined?(@logger) ? @logger : initialize_logger
    end

    class << self
      attr_writer :logger
    end

    def logger
      ::Protobuf::Logging.logger
    end

    def log_exception(ex)
      logger.error { ex.message }
      logger.error { ex.backtrace[0..5].join("\n") }
      logger.debug { ex.backtrace.join("\n") }
    end

    def log_signature
      @_log_signature ||= "[#{self.class == Class ? name : self.class.name}]"
    end

    def sign_message(message)
      "#{log_signature} #{message}"
    end
  end
end

# Inspired by [mperham](https://github.com/mperham/sidekiq)

Version data entries

73 entries across 73 versions & 6 rubygems

Version Path
protobuf-3.10.9 lib/protobuf/logging.rb
protobuf-3.10.8 lib/protobuf/logging.rb
contrast-agent-6.7.0 lib/protobuf/logging.rb
protobuf-3.10.7 lib/protobuf/logging.rb
contrast-agent-6.6.5 lib/protobuf/logging.rb
contrast-agent-6.6.4 lib/protobuf/logging.rb
contrast-agent-6.6.3 lib/protobuf/logging.rb
contrast-agent-6.6.2 lib/protobuf/logging.rb
contrast-agent-6.6.1 lib/protobuf/logging.rb
contrast-agent-6.6.0 lib/protobuf/logging.rb
contrast-agent-6.5.1 lib/protobuf/logging.rb
contrast-agent-6.5.0 lib/protobuf/logging.rb
contrast-agent-6.4.0 lib/protobuf/logging.rb
protobuf-3.10.6 lib/protobuf/logging.rb
protobuf-3.10.5 lib/protobuf/logging.rb
protobuf-3.10.4 lib/protobuf/logging.rb
protobuf-cucumber-3.10.8 lib/protobuf/logging.rb
protobuf-cucumber-3.10.7 lib/protobuf/logging.rb
protobuf-cucumber-3.10.6 lib/protobuf/logging.rb
protobuf-cucumber-3.10.5 lib/protobuf/logging.rb