Sha256: 1714feb9b90535b4d0f15fd940778eb6482520ceacfe9487b75da32dbb1054af

Contents?: true

Size: 1.25 KB

Versions: 19

Compression:

Stored size: 1.25 KB

Contents

require 'semantic_logger'

module PactBroker
  module Logging

    def self.included(base)
      base.extend self
      base.extend SemanticLogger::Loggable::ClassMethods
      base.class_eval do
        # Returns [SemanticLogger::Logger] class level logger
        def self.logger
          require 'pact_broker/configuration'
          @logger ||= PactBroker.configuration.custom_logger || SemanticLogger[self]
        end

        # Replace instance class level logger
        def self.logger=(logger)
          @logger = logger
        end

        # Returns [SemanticLogger::Logger] instance level logger
        def logger
          @logger ||= self.class.logger
        end

        # Replace instance level logger
        def logger=(logger)
          @logger = logger
        end
      end
    end

    def log_error e, description = nil
      message = "#{e.class} #{e.message}\n#{e.backtrace.join("\n")}"
      message = "#{description} - #{message}" if description
      logger.error message
      logger.info "\n\n#{'*' * 80}\n\nPrefer it was someone else's job to deal with this error? Check out https://pactflow.io/oss for a hardened, fully supported SaaS version of the Pact Broker with an improved UI  + more.\n\n#{'*' * 80}\n"
    end
  end

  include Logging
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
pact_broker-2.55.0 lib/pact_broker/logging.rb
pact_broker-2.54.0 lib/pact_broker/logging.rb
pact_broker-2.53.0 lib/pact_broker/logging.rb
pact_broker-2.52.2 lib/pact_broker/logging.rb
pact_broker-2.52.1 lib/pact_broker/logging.rb
pact_broker-2.52.0 lib/pact_broker/logging.rb
pact_broker-2.51.0 lib/pact_broker/logging.rb
pact_broker-2.50.1 lib/pact_broker/logging.rb
pact_broker-2.50.0 lib/pact_broker/logging.rb
pact_broker-2.49.0 lib/pact_broker/logging.rb
pact_broker-2.48.0 lib/pact_broker/logging.rb
pact_broker-2.47.1 lib/pact_broker/logging.rb
pact_broker-2.47.0 lib/pact_broker/logging.rb
pact_broker-2.46.0 lib/pact_broker/logging.rb
pact_broker-2.45.0 lib/pact_broker/logging.rb
pact_broker-2.44.0 lib/pact_broker/logging.rb
pact_broker-2.43.0 lib/pact_broker/logging.rb
pact_broker-2.42.0 lib/pact_broker/logging.rb
pact_broker-2.41.0 lib/pact_broker/logging.rb