class Convoy::Logger

Public Class Methods

close() click to toggle source
# File lib/convoy/logger.rb, line 6
def close
    error.close
    output.close
end
error() click to toggle source
# File lib/convoy/logger.rb, line 11
def error
    @error_logger ||= ::Logger.new($stderr).tap do |l|
        #l.formatter = advanced_error_formatter
        l.formatter     = basic_error_formatter
        l.sev_threshold = ::Logger::WARN
    end
end
output() click to toggle source
# File lib/convoy/logger.rb, line 19
def output
    @output_logger ||= ::Logger.new($stdout).tap do |l|
        l.formatter     = output_formatter
        l.sev_threshold = ::Logger::DEBUG
        l.instance_eval do
            def puts(message = nil, &block)
                if block_given?
                    fatal(&block)
                else
                    fatal(message || "")
                end
            end
        end
    end
end
puts(message = nil, &block) click to toggle source
# File lib/convoy/logger.rb, line 24
def puts(message = nil, &block)
    if block_given?
        fatal(&block)
    else
        fatal(message || "")
    end
end
setup_error_logger(auto_options) click to toggle source
# File lib/convoy/logger.rb, line 35
def setup_error_logger(auto_options)
    error.formatter     = send(:"#{auto_options.error_formatter}_error_formatter")
    error.sev_threshold = ::Logger.const_get(auto_options.verbosity)
end

Private Class Methods

advanced_error_formatter() click to toggle source

ā€œ#{severity} [#{datetime.strftime(ā€%d/%b/%Y %H:%M:%Sā€œ)}] "#{msg}"nā€

# File lib/convoy/logger.rb, line 49
def advanced_error_formatter
    proc do |severity, datetime, progname, msg|
        sprintf("%-8s #{msg2str(msg, 10)}\n", severity)
    end
end
basic_error_formatter() click to toggle source
# File lib/convoy/logger.rb, line 42
def basic_error_formatter
    proc do |severity, datetime, progname, msg|
        "#{msg2str(msg)}\n"
    end
end
msg2str(msg, backtrace_indent = 0) click to toggle source
# File lib/convoy/logger.rb, line 61
def msg2str(msg, backtrace_indent = 0)
    case msg
        when ::String
            msg
        when ::Exception
            "#{msg.message} (#{ msg.class })\n" <<
                (msg.backtrace || []).map { |line| sprintf("%#{backtrace_indent}s#{line}", "") }.join("\n")
        else
            msg.inspect
    end
end
output_formatter() click to toggle source
# File lib/convoy/logger.rb, line 55
def output_formatter
    proc do |severity, datetime, progname, msg|
        "#{msg}\n"
    end
end