Sha256: 7fe4e80e1cc4c0ac86f65e85d0e419a88b88dc4bc6b924498533a85395729109

Contents?: true

Size: 1.31 KB

Versions: 27

Compression:

Stored size: 1.31 KB

Contents

#!/usr/bin/env ruby

require 'log4r'
require 'log4r/formatter/patternformatter'
require 'log4r/outputter/consoleoutputters'
require 'log4r/outputter/syslogoutputter'

module Flapjack

  class Logger

    def initialize(name, config = {})
      config ||= {}

      # @name = name

      @log4r_logger = Log4r::Logger.new(name)

      formatter = Log4r::PatternFormatter.new(:pattern => "%d [%l] :: #{name} :: %m",
        :date_pattern => "%Y-%m-%dT%H:%M:%S%z")

      [Log4r::StdoutOutputter, Log4r::SyslogOutputter].each do |outp_klass|
        outp = outp_klass.new(name)
        outp.formatter = formatter
        @log4r_logger.add(outp)
      end

      configure(config)
    end

    def configure(config)
      level = config['level']

      # we'll let Log4r spit the dummy on invalid level values -- but will
      # assume ALL if nothing is provided
      if level.nil? || level.empty?
        level = 'ALL'
      end

      new_level = Log4r.const_get(level.upcase)
      return if @log4r_logger.level.eql?(new_level)

      # puts "setting log level for '#{@name}' to '#{level.upcase}'"
      @log4r_logger.level = new_level
    end

    def method_missing(method, *args, &block)
      @log4r_logger.send(method.to_sym, *args, &block)
    end

    def respond_to?(sym)
      @log4r_logger.respond_to?(sym)
    end

  end

end

Version data entries

27 entries across 27 versions & 1 rubygems

Version Path
flapjack-0.7.18 lib/flapjack/logger.rb
flapjack-0.7.17 lib/flapjack/logger.rb
flapjack-0.7.16 lib/flapjack/logger.rb
flapjack-0.7.15 lib/flapjack/logger.rb
flapjack-0.7.14 lib/flapjack/logger.rb
flapjack-0.7.13 lib/flapjack/logger.rb
flapjack-0.7.12 lib/flapjack/logger.rb
flapjack-0.7.11 lib/flapjack/logger.rb
flapjack-0.7.10 lib/flapjack/logger.rb
flapjack-0.7.9 lib/flapjack/logger.rb
flapjack-0.7.8 lib/flapjack/logger.rb
flapjack-0.7.7 lib/flapjack/logger.rb
flapjack-0.7.6 lib/flapjack/logger.rb
flapjack-0.7.5 lib/flapjack/logger.rb
flapjack-0.7.4 lib/flapjack/logger.rb
flapjack-0.7.3 lib/flapjack/logger.rb
flapjack-0.7.2 lib/flapjack/logger.rb
flapjack-0.7.1 lib/flapjack/logger.rb
flapjack-0.7.0 lib/flapjack/logger.rb
flapjack-0.6.61 lib/flapjack/logger.rb