class Logging::LogEvent
This class defines a logging event.
Attributes
data[RW]
file[RW]
level[RW]
line[RW]
logger[RW]
method[RW]
time[RW]
Public Class Methods
new( logger, level, [data], caller_tracing )
click to toggle source
Creates a new log event with the given logger name, numeric
level, array of data from the user to be logged, and
boolean caller_tracing flag. If the caller_tracing flag
is set to true
then Kernel::caller will be invoked to get the
execution trace of the logging method.
# File lib/logging/log_event.rb, line 28 def initialize( logger, level, data, caller_tracing ) self.logger = logger self.level = level self.data = data self.time = Time.now.freeze if caller_tracing stack = Kernel.caller[CALLER_INDEX] return if stack.nil? match = CALLER_RGXP.match(stack) self.file = match[1] self.line = Integer(match[2]) self.method = match[3] unless match[3].nil? if (bp = ::Logging.basepath) && !bp.empty? && file.index(bp) == 0 self.file = file.slice(bp.length + 1, file.length - bp.length) end else self.file = self.line = self.method = '' end end