class Ougai::Logger
def create_formatter
def create_formatter Formatters::Bunyan.new end
def debug(message, ex = nil, data = nil)
def debug(message, ex = nil, data = nil) super(to_item(message, ex, data)) end
def error(message, ex = nil, data = nil)
def error(message, ex = nil, data = nil) super(to_item(message, ex, data)) end
def fatal(message, ex = nil, data = nil)
def fatal(message, ex = nil, data = nil) super(to_item(message, ex, data)) end
def info(message, ex = nil, data = nil)
def info(message, ex = nil, data = nil) super(to_item(message, ex, data)) end
def initialize(*args)
def initialize(*args) super(*args) @default_message = 'No message' @exc_key = :err @formatter = create_formatter end
def set_exc(item, exc)
def set_exc(item, exc) item[@exc_key] = @formatter.serialize_exc(exc) end
def to_item(msg, ex, data)
def to_item(msg, ex, data) item = {} if ex.nil? # 1 arg if msg.is_a?(Exception) item[:msg] = msg.to_s set_exc(item, msg) elsif msg.is_a?(Hash) item[:msg] = @default_message unless msg.key?(:msg) item.merge!(msg) else item[:msg] = msg.to_s end elsif data.nil? # 2 args if ex.is_a?(Exception) item[:msg] = msg.to_s set_exc(item, ex) elsif ex.is_a?(Hash) item.merge!(ex) if msg.is_a?(Exception) set_exc(item, msg) else item[:msg] = msg.to_s end end elsif msg # 3 args set_exc(item, ex) if ex.is_a?(Exception) item.merge!(data) if data.is_a?(Hash) item[:msg] = msg.to_s else # No args item[:msg] = @default_message end item end
def warn(message, ex = nil, data = nil)
def warn(message, ex = nil, data = nil) super(to_item(message, ex, data)) end