class Log

Constants

ERROR_LEVELS

Public Class Methods

debug(*args) click to toggle source
# File lib/cuvva_log.rb, line 33
def self.debug(*args)
        make_error(:debug, *args)
end
error(*args) click to toggle source
# File lib/cuvva_log.rb, line 45
def self.error(*args)
        make_error(:error, *args)
end
fatal(*args) click to toggle source
# File lib/cuvva_log.rb, line 49
def self.fatal(*args)
        make_error(:fatal, *args)
end
info(*args) click to toggle source
# File lib/cuvva_log.rb, line 37
def self.info(*args)
        make_error(:info, *args)
end
set_handler(*args) click to toggle source
# File lib/cuvva_log.rb, line 16
def self.set_handler(*args)
        if args.length == 1
                handler = args[0]

                for level in ERROR_LEVELS.keys
                        @@conf_handlers[level] = handler
                end
        else
                level, handler = args
                @@conf_handlers[level] = handler
        end
end
set_min_log_level(level) click to toggle source
# File lib/cuvva_log.rb, line 29
def self.set_min_log_level(level)
        @@conf_min_log_level = level
end
warn(*args) click to toggle source
# File lib/cuvva_log.rb, line 41
def self.warn(*args)
        make_error(:warn, *args)
end

Private Class Methods

default_handler(level, error) click to toggle source
# File lib/cuvva_log.rb, line 71
def self.default_handler(level, error)
        return if ERROR_LEVELS[level] < ERROR_LEVELS[@@conf_min_log_level]

        error_string = "#{level}:#{error.to_json}"

        if [:warn, :error, :fatal].include?(level)
                STDERR.puts error_string
        else
                puts error_string
        end
end
handle_error(level, error) click to toggle source
# File lib/cuvva_log.rb, line 61
def self.handle_error(level, error)
        handler = @@conf_handlers[level]

        if handler
                handler.handle(level, error)
        else
                default_handler(level, error)
        end
end
make_error(level, *args) click to toggle source
# File lib/cuvva_log.rb, line 55
def self.make_error(level, *args)
        error = args[0].is_a?(CuvvaError) ? args[0] : CuvvaError.new(*args)
        handle_error(level, error)
        error
end