class Cinch::Logger::FormattedLogger
@version 2.0.0
Constants
- Colors
@private
Public Instance Methods
exception(e)
click to toggle source
(see Logger#exception
)
# File lib/cinch/logger/formatted_logger.rb, line 20 def exception(e) lines = ["#{e.backtrace.first}: #{e.message} (#{e.class})"] lines.concat e.backtrace[1..-1].map {|s| "\t" + s} log(lines, :exception, :error) end
Private Instance Methods
colorize(text, *codes)
click to toggle source
@api private @param [String] text text to colorize @param [Array<Symbol>] codes array of colors to apply @return [String] colorized string
# File lib/cinch/logger/formatted_logger.rb, line 35 def colorize(text, *codes) return text unless @output.tty? codes = Colors.values_at(*codes).join text = text.gsub(/#{Regexp.escape(Colors[:reset])}/, Colors[:reset] + codes) codes + text + Colors[:reset] end
format_debug(message)
click to toggle source
# File lib/cinch/logger/formatted_logger.rb, line 48 def format_debug(message) "%s %s %s" % [timestamp, colorize("!!", :yellow), message] end
format_exception(message)
click to toggle source
# File lib/cinch/logger/formatted_logger.rb, line 92 def format_exception(message) "%s %s %s" % [timestamp, colorize("!!", :red), message] end
format_general(message)
click to toggle source
# File lib/cinch/logger/formatted_logger.rb, line 42 def format_general(message) message.gsub(/[^[:print:]]/) do |m| colorize(m.inspect[1..-2], :bg_white, :black) end end
format_incoming(message)
click to toggle source
# File lib/cinch/logger/formatted_logger.rb, line 60 def format_incoming(message) pre, msg = message.split(" :", 2) pre_parts = pre.split(" ") prefix = colorize(">>", :green) if pre_parts.size == 1 pre_parts[0] = colorize(pre_parts[0], :bold) else pre_parts[0] = colorize(pre_parts[0], :blue) pre_parts[1] = colorize(pre_parts[1], :bold) end "%s %s %s %s" % [timestamp, prefix, pre_parts.join(" "), msg ? colorize(":#{msg}", :yellow) : ""] end
format_info(message)
click to toggle source
# File lib/cinch/logger/formatted_logger.rb, line 56 def format_info(message) "%s %s %s" % [timestamp, "II", message] end
format_outgoing(message)
click to toggle source
# File lib/cinch/logger/formatted_logger.rb, line 79 def format_outgoing(message) pre, msg = message.split(" :", 2) pre_parts = pre.split(" ") prefix = colorize("<<", :red) pre_parts[0] = colorize(pre_parts[0], :bold) "%s %s %s %s" % [timestamp, prefix, pre_parts.join(" "), msg ? colorize(":#{msg}", :yellow) : ""] end
format_warn(message)
click to toggle source
# File lib/cinch/logger/formatted_logger.rb, line 52 def format_warn(message) format_debug(message) end
timestamp()
click to toggle source
# File lib/cinch/logger/formatted_logger.rb, line 27 def timestamp Time.now.strftime("[%Y/%m/%d %H:%M:%S.%L]") end