lib/lorekeeper/simple_logger.rb in lorekeeper-2.0.0 vs lib/lorekeeper/simple_logger.rb in lorekeeper-2.1.0
- old
+ new
@@ -26,11 +26,11 @@
}.freeze
# \e[colorm sets a color \e[0m resets all properties
def log_data(severity, message)
color = SEVERITY_TO_COLOR_MAP[severity]
- @iodevice.write("\e[#{color}m#{message}\e[0m\n")
+ @iodevice.write("\e[#{color}m#{message.gsub('\n', "\n").gsub('\t', "\t")}\e[0m\n")
end
def inspect
"Lorekeeper Simple logger. IO: #{@file.inspect}"
end
@@ -41,19 +41,34 @@
return true if METHOD_SEVERITY_MAP[method_name] < @level
log_data(METHOD_SEVERITY_MAP[method_name], "#{message_param}, data: #{data}")
end
end
- def exception(exception, custom_message = nil, custom_data = nil, level = :error)
- log_level = METHOD_SEVERITY_MAP[level] || ERROR
+ # To not raise NoMethodError for the methods defined in JSONLogger
+ def current_fields(*); end
+ def state(*); end
+ def add_thread_unsafe_fields(*); end
+ def remove_thread_unsafe_fields(*); end
+ def add_fields(*); end
+ def remove_fields(*); end
+ def exception(exception, custom_message = nil, custom_data = nil, custom_level = :error,
+ message: nil, data: nil, level: nil)
+
+ param_level = level || custom_level
+ param_data = data || custom_data
+ param_message = message || custom_message
+
+ log_level = METHOD_SEVERITY_MAP[param_level] || ERROR
+
if exception.is_a?(Exception)
- backtrace = exception.backtrace || []
- message = custom_message || exception.message
- log_data(log_level, "#{exception.class}: #{exception.message}; #{message}, data: #{backtrace.join("\n")}")
+ message = param_message || exception.message
+ backtrace = "\n\nstack:\n#{exception.backtrace.join("\n")}" if exception.backtrace
+ data = "\n\ndata:\n#{param_data}" if param_data
+ log_data(log_level, "#{exception.class}: #{exception.message}; #{message} #{backtrace} #{data}")
else
log_data(METHOD_SEVERITY_MAP[:warn], 'Logger exception called without exception class.')
- error_with_data("#{exception.class}: #{exception.inspect} #{custom_message}", custom_data)
+ error_with_data("#{exception.class}: #{exception.inspect} #{param_message}", param_data)
end
end
end
end