Sha256: a2f578c5c86f5940ca42bfdfa4523e7ea4f69c63d84ac6a0d523799aba89163e

Contents?: true

Size: 989 Bytes

Versions: 1

Compression:

Stored size: 989 Bytes

Contents

require 'log4r'

Log4r::Logger.root # Called to init log4r and make Log4r::<LEVEL> consts available.

module Powcloud
  module Insurance
    module Logger
      attr_accessor :logger
      class << self 
        def outputters=(ar)
          @@outputters = ar
        end

        def outputters
          @@outputters ||= []
        end
      end

      # Initializes logger instance.
      def init_logger(level = Log4r::WARN, name = File.basename($0))
        @logger = Log4r::Logger.new name
        @logger.level = level

        @logger.outputters = Powcloud::Insurance::Logger.outputters
      end

      def init_child_logger(logger, name)
        @logger = Log4r::Logger.new "#{logger.fullname}::#{name}"
        @logger.level = logger.level
      end

      def log_exception(ex)
        if logger
          logger.error ex.to_s + (ex.backtrace.length > 0 ? ' ' + ex.backtrace.first : '')
          logger.error ex.backtrace.join("\n")
        end
      end
    end
  end
end    

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
powcloud-insurance-0.1.0 lib/powcloud/insurance/logger.rb