Sha256: 4fbe19651f9dbd4b3506fc5a53aa45f82a9db7a004e444ead2445448cd278300

Contents?: true

Size: 1.65 KB

Versions: 4

Compression:

Stored size: 1.65 KB

Contents

require 'logger'

# see http://hawkins.io/2013/08/using-the-ruby-logger/

module Sbuilder
  
  module Utils
    
    module MyLogger

      # no logging done

      class NullLoger < Logger
        def initialize(*args)
        end

        def add(*args, &block)
        end

        def debug?
          false
        end
      end

      @@logfile = nil                          # absolute path to log file
      LOGFILE="sbuilder.log"

      def logfile( options ) 
        return @@logfile if @@logfile
        @@logfile = options[:logfile] || File.join( Dir.getwd, LOGFILE )
      end

      def getLogger( progname=nil, options={} ) 

        progname = self.class.name.split('::').last if progname.nil?
        level = get_level( options )

        if level.nil? 

          return NullLoger.new 

        else
          
          logger = Logger.new( logfile(options) )
          logger.level=level
          logger.progname = progname
          return logger

        end 

      end # getLogger

      # ------------------------------------------------------------------
      private

      def get_level( options ) 

        # puts  "#{__method__}: options=#{options}" 

        level_name = options && options[:log] ? options[:log] : ENV['LOG_LEVEL']

        level = case  level_name
                when 'warn', 'WARN'
                  Logger::WARN
                when 'info', 'INFO'
                  Logger::INFO
                when 'debug', 'DEBUG'
                  Logger::DEBUG
                when 'error', 'ERROR'
                  Logger::ERROR
                else
                  nil
                end

        return level
      end

    end

  end 
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
tla-sbuilder-0.3.9 lib/utils/logger.rb
tla-sbuilder-0.3.8 lib/utils/logger.rb
tla-sbuilder-0.3.7 lib/utils/logger.rb
tla-sbuilder-0.3.4 lib/utils/logger.rb