Class: Logging::LogEvent
- Inherits:
-
Object
- Object
- Logging::LogEvent
- Defined in:
- lib/logging/log_event.rb
Overview
This class defines a logging event.
Constant Summary collapse
- CALLER_RGXP =
Regular expression used to parse out caller information
-
$1 == filename
-
$2 == line number
-
$3 == method name (might be nil)
-
%r/([-\.\/\(\)\w]+):(\d+)(?::in `([^']+)')?/o
- CALLER_INDEX =
CALLER_INDEX = 2
((defined? JRUBY_VERSION and JRUBY_VERSION > '1.6') or (defined? RUBY_ENGINE and RUBY_ENGINE[%r/^rbx/i])) ? 1 : 2
Instance Attribute Summary collapse
-
#data ⇒ Object
:startdoc:.
-
#file ⇒ Object
:startdoc:.
-
#level ⇒ Object
:startdoc:.
-
#line ⇒ Object
:startdoc:.
-
#logger ⇒ Object
:startdoc:.
-
#method ⇒ Object
:startdoc:.
-
#time ⇒ Object
:startdoc:.
Instance Method Summary collapse
-
#initialize(logger, level, data, caller_tracing) ⇒ LogEvent
constructor
call-seq: LogEvent.new( logger, level, [data], caller_tracing ).
Constructor Details
#initialize(logger, level, data, caller_tracing) ⇒ LogEvent
call-seq:
LogEvent.new( logger, level, [data], caller_tracing )
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.
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# 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 |
Instance Attribute Details
#data ⇒ Object
:startdoc:
18 19 20 |
# File 'lib/logging/log_event.rb', line 18 def data @data end |
#file ⇒ Object
:startdoc:
18 19 20 |
# File 'lib/logging/log_event.rb', line 18 def file @file end |
#level ⇒ Object
:startdoc:
18 19 20 |
# File 'lib/logging/log_event.rb', line 18 def level @level end |
#line ⇒ Object
:startdoc:
18 19 20 |
# File 'lib/logging/log_event.rb', line 18 def line @line end |
#logger ⇒ Object
:startdoc:
18 19 20 |
# File 'lib/logging/log_event.rb', line 18 def logger @logger end |
#method ⇒ Object
:startdoc:
18 19 20 |
# File 'lib/logging/log_event.rb', line 18 def method @method end |
#time ⇒ Object
:startdoc:
18 19 20 |
# File 'lib/logging/log_event.rb', line 18 def time @time end |