Module: GetaroundUtils::Mixins::Loggable
- Defined in:
- lib/getaround_utils/mixins/loggable.rb
Instance Method Summary collapse
- #base_append_infos_to_loggable(payload) ⇒ Object
- #base_loggable_logger ⇒ Object
- #class_name ⇒ Object
- #loggable(severity, message, payload = {}) ⇒ Object
- #loggable_formatter ⇒ Object
Instance Method Details
#base_append_infos_to_loggable(payload) ⇒ Object
10 11 12 13 14 15 |
# File 'lib/getaround_utils/mixins/loggable.rb', line 10 def base_append_infos_to_loggable(payload) payload[:origin] = class_name return unless respond_to?(:append_infos_to_loggable) append_infos_to_loggable(payload) end |
#base_loggable_logger ⇒ Object
17 18 19 20 21 22 23 24 25 |
# File 'lib/getaround_utils/mixins/loggable.rb', line 17 def base_loggable_logger @base_loggable_logger ||= if respond_to?(:logger) logger elsif defined?(Rails) Rails.logger else Logger.new(STDOUT) end end |
#class_name ⇒ Object
6 7 8 |
# File 'lib/getaround_utils/mixins/loggable.rb', line 6 def class_name @class_name ||= is_a?(Class) ? name : self.class.name end |
#loggable(severity, message, payload = {}) ⇒ Object
31 32 33 34 35 36 37 |
# File 'lib/getaround_utils/mixins/loggable.rb', line 31 def loggable(severity, , payload = {}) payload = { message: }.merge(payload) base_append_infos_to_loggable(payload) = loggable_formatter.serialize(payload.compact) base_loggable_logger.send(severity.to_sym, ) end |
#loggable_formatter ⇒ Object
27 28 29 |
# File 'lib/getaround_utils/mixins/loggable.rb', line 27 def loggable_formatter @loggable_formatter ||= GetaroundUtils::Utils::DeepKeyValueSerializer.new end |