module PactBroker::Logging
Public Class Methods
included(base)
click to toggle source
# File lib/pact_broker/logging.rb, line 8 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
logger()
click to toggle source
Returns [SemanticLogger::Logger] class level logger
# File lib/pact_broker/logging.rb, line 13 def self.logger require "pact_broker/configuration" @logger ||= PactBroker.configuration.custom_logger || SemanticLogger[self] end
logger=(logger)
click to toggle source
Replace instance class level logger
# File lib/pact_broker/logging.rb, line 19 def self.logger=(logger) @logger = logger end
Public Instance Methods
log_error(e, description = nil)
click to toggle source
# File lib/pact_broker/logging.rb, line 45 def log_error e, description = nil if logger.instance_of?(SemanticLogger::Logger) if description logger.error(description, e) else logger.error(e) end else message = "#{e.class} #{e.message}\n#{e.backtrace.join("\n")}" message = "#{description} - #{message}" if description logger.error message end unless PactBroker.configuration.hide_pactflow_messages 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
log_with_tag(tag) { || ... }
click to toggle source
# File lib/pact_broker/logging.rb, line 35 def log_with_tag(tag) if logger.respond_to?(:tagged) logger.tagged(tag) do yield end else yield end end
logger()
click to toggle source
Returns [SemanticLogger::Logger] instance level logger
# File lib/pact_broker/logging.rb, line 24 def logger @logger ||= self.class.logger end
logger=(logger)
click to toggle source
Replace instance level logger
# File lib/pact_broker/logging.rb, line 29 def logger=(logger) @logger = logger end