Sha256: 0dd3ea70ab67569b621dcee87ba69645a27700c92479b8c324afd9a7eefb4c80

Contents?: true

Size: 745 Bytes

Versions: 12

Compression:

Stored size: 745 Bytes

Contents

require 'logger'
require 'pathname'

module PactBroker

  module Logging

    # Need to make this configurable based on the calling app!
    LOG_DIR = Pathname.new(File.join(File.dirname(__FILE__), '..', '..', 'log')).cleanpath
    LOG_FILE_NAME = "#{ENV['RACK_ENV'] || 'development'}.log"

    def self.included(base)
      base.extend(self)
    end

    def logger= logger
      @@logger = logger
    end

    def log_error e
      logger.error "#{e.class} #{e.message} #{e.backtrace.join("\n")}"
    end

    def logger
      @@logger ||= begin
        FileUtils.mkdir_p(LOG_DIR)
        logger = Logger.new(File.join(LOG_DIR, LOG_FILE_NAME))
        logger.level = Logger::DEBUG
        logger
      end
    end
  end

  include Logging
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
pact_broker-2.2.0 lib/pact_broker/logging.rb
pact_broker-2.1.1 lib/pact_broker/logging.rb
pact_broker-2.1.0 lib/pact_broker/logging.rb
pact_broker-2.0.5 lib/pact_broker/logging.rb
pact_broker-2.0.4 lib/pact_broker/logging.rb
pact_broker-2.0.3 lib/pact_broker/logging.rb
pact_broker-2.0.2 lib/pact_broker/logging.rb
pact_broker-2.0.1 lib/pact_broker/logging.rb
pact_broker-2.0.0 lib/pact_broker/logging.rb
pact_broker-2.0.0.beta.8 lib/pact_broker/logging.rb
pact_broker-2.0.0.beta.7 lib/pact_broker/logging.rb
pact_broker-1.18.0 lib/pact_broker/logging.rb