Module: Axn::Core::Logging::ClassMethods

Defined in:
lib/axn/core/logging.rb

Instance Method Summary collapse

Instance Method Details

#_log_prefixObject



39
40
41
42
43
44
# File 'lib/axn/core/logging.rb', line 39

def _log_prefix
  names = NestingTracking._current_axn_stack.map do |axn|
    axn.class.name.presence || "Anonymous Class"
  end
  "[#{names.join(' > ')}]"
end

#log(message, level: log_level, before: nil, after: nil, prefix: nil) ⇒ Object

Parameters:

  • message (String)

    The message to log

  • level (Symbol) (defaults to: log_level)

    The log level (default: log_level)

  • before (String, nil) (defaults to: nil)

    Text to prepend to the message

  • after (String, nil) (defaults to: nil)

    Text to append to the message

  • prefix (String, nil) (defaults to: nil)

    Override the default prefix (useful for class-level logging)



25
26
27
28
29
30
31
# File 'lib/axn/core/logging.rb', line 25

def log(message, level: log_level, before: nil, after: nil, prefix: nil)
  resolved_prefix = prefix.nil? ? _log_prefix : prefix
  msg = [resolved_prefix, message].compact_blank.join(" ")
  msg = [before, msg, after].compact_blank.join if before || after

  Axn.config.logger.send(level, msg)
end

#log_levelObject



18
# File 'lib/axn/core/logging.rb', line 18

def log_level = Axn.config.log_level