class GlobalLogger

Constants

SHOW_DIV

Public Class Methods

new() click to toggle source
# File lib/a_little_less/global_logger.rb, line 6
def initialize
        @logger = build_logger
end

Public Instance Methods

log(level, *args) click to toggle source
# File lib/a_little_less/global_logger.rb, line 10
def log level, *args
        @level = level
        @caller = caller[1]
        div if SHOW_DIV
        args.each{|line| log_line line }
        nil
end

Private Instance Methods

_log(s) click to toggle source
# File lib/a_little_less/global_logger.rb, line 28
def _log s
        @logger.send @level, s
end
build_logger() click to toggle source
# File lib/a_little_less/global_logger.rb, line 20
def build_logger
        logger = Logger.new log_file
        logger.formatter = proc do |severity, datetime, progname, msg|
                "#{ severity[0] } #{ datetime.strftime('%y%m%d %H:%M:%S.%L') } #{ msg }\n"
        end
        logger
end
div() click to toggle source
# File lib/a_little_less/global_logger.rb, line 32
def div
        _log "\033[#{1};31;#{40}m -----#{ @caller }---------------\033[0m" 
end
log_file() click to toggle source
# File lib/a_little_less/global_logger.rb, line 51
def log_file
        fname = case ENV['ALL_ENV']
        when 'PRODUCTION'
                'production'
        else
                'development'
        end
        "log/#{ fname }.log"
end
log_line(line) click to toggle source
# File lib/a_little_less/global_logger.rb, line 36
def log_line line
        _log output(line)
        _log "----" if SHOW_DIV
end
output(line) click to toggle source
# File lib/a_little_less/global_logger.rb, line 41
def output line
        if line.is_a?(Numeric) || line.is_a?(String) || line.is_a?(Symbol)
                line
        elsif line.is_a? Exception
                line.to_s_long
        else
                line.to_yaml
        end
end