class Log15::Logger
Attributes
context[RW]
logger[RW]
Public Class Methods
default()
click to toggle source
# File lib/log15/logger.rb, line 20 def self.default @logger ||= Log15::Logger.new end
new(logger=Rails.logger, context={})
click to toggle source
# File lib/log15/logger.rb, line 7 def initialize(logger=Rails.logger, context={}) @context = context @logger = logger.dup @logger.formatter = proc do |severity, datetime, progname, msg| date = "#{datetime.month}-#{datetime.day}" time = "#{pad(datetime.hour)}:#{pad(datetime.min)}:#{pad(datetime.sec)}" severities = { "ERROR" => "EROR", "DEBUG" => "DBUG" } original_severity = severity severity = severities.fetch(severity, severity) "#{severity}[#{date}|#{time}] #{msg} lvl=#{original_severity.downcase}\n" end end
sanitize(params, key, opts={})
click to toggle source
# File lib/log15/logger.rb, line 24 def self.sanitize(params, key, opts={}) if params[key] raise SanitizationError, "expected #{key} to not be blank" if params[key] == "" if opts[:expected_length] minimum_size = opts[:expected_length].first maximum_size = opts[:expected_length].last length = params[key].length if length < minimum_size || length > maximum_size raise SanitizationError, "expected access_token to be between #{minimum_size} and #{maximum_size} characters long (is #{length})" end end params[key] = params[key][0..5] + "****" + params[key][-6..-1] else raise SanitizationError, "expected #{key} to be present" end params end
Public Instance Methods
debug(msg, data={})
click to toggle source
# File lib/log15/logger.rb, line 42 def debug(msg, data={}) logger.debug(process(msg, data)) end
error(msg, data={})
click to toggle source
# File lib/log15/logger.rb, line 54 def error(msg, data={}) logger.error(process(msg, data)) end
info(msg, data={})
click to toggle source
# File lib/log15/logger.rb, line 46 def info(msg, data={}) logger.info(process(msg, data)) end
new_context(new_context={})
click to toggle source
# File lib/log15/logger.rb, line 58 def new_context(new_context={}) self.class.new(logger, self.context.merge(new_context)) end
warn(msg, data={})
click to toggle source
# File lib/log15/logger.rb, line 50 def warn(msg, data={}) logger.warn(process(msg, data)) end
Private Instance Methods
pad(number)
click to toggle source
# File lib/log15/logger.rb, line 80 def pad(number) number.to_s.rjust(2, '0') end
process(msg, data)
click to toggle source
# File lib/log15/logger.rb, line 64 def process(msg, data) data.merge!(context) output = ["msg=#{msg.inspect}"] if data.keys.count > 0 data.each do |k, v| if v.is_a?(Array) || v.is_a?(Hash) output << ["#{k}=#{JSON.dump(v).inspect}"] else output << ["#{k}=#{v.inspect}"] end end end output.join(" ") end