Class: Intake::Logger
- Inherits:
-
Object
- Object
- Intake::Logger
- Defined in:
- lib/intake/logger.rb,
lib/intake/ruby_logger_adapter.rb
Overview
Logger is a object that captures log event and forward that to event sinks.
Constant Summary collapse
Instance Attribute Summary collapse
-
#name ⇒ Object
readonly
Returns the value of attribute name.
Class Method Summary collapse
Instance Method Summary collapse
- #as_ruby_logger(progname: nil) ⇒ Object
-
#initialize(name, parent: nil) ⇒ Logger
constructor
A new instance of Logger.
- #level ⇒ Object
- #level=(level) ⇒ Object
- #level?(level) ⇒ Boolean
- #log_event(level, msg = nil, meta: nil, error: nil) ⇒ Object
Constructor Details
#initialize(name, parent: nil) ⇒ Logger
Returns a new instance of Logger.
25 26 27 28 29 30 31 |
# File 'lib/intake/logger.rb', line 25 def initialize(name, parent: nil) validate_name(name) @name = name @level = nil @parent = parent end |
Instance Attribute Details
#name ⇒ Object (readonly)
Returns the value of attribute name.
23 24 25 |
# File 'lib/intake/logger.rb', line 23 def name @name end |
Class Method Details
.[](name) ⇒ Object
16 17 18 19 20 |
# File 'lib/intake/logger.rb', line 16 def [](name) ::Intake::Repository.instance.get_or_add(name) do |logger_name, parent| Logger.new(logger_name, parent: parent) end end |
Instance Method Details
#as_ruby_logger(progname: nil) ⇒ Object
11 12 13 |
# File 'lib/intake/ruby_logger_adapter.rb', line 11 def as_ruby_logger(progname: nil) RubyLoggerAdapter.new(self, progname) end |
#level ⇒ Object
37 38 39 |
# File 'lib/intake/logger.rb', line 37 def level @level || @parent&.level || DEFAULT_LEVEL end |
#level=(level) ⇒ Object
41 42 43 44 45 46 47 |
# File 'lib/intake/logger.rb', line 41 def level=(level) @level = case level when String, Symbol then ::Intake::Level[level.to_sym] when ::Intake::Level then level when nil then nil end end |
#level?(level) ⇒ Boolean
33 34 35 |
# File 'lib/intake/logger.rb', line 33 def level?(level) self.level.val <= level.val end |
#log_event(level, msg = nil, meta: nil, error: nil) ⇒ Object
61 62 63 64 65 66 67 68 69 70 |
# File 'lib/intake/logger.rb', line 61 def log_event(level, msg = nil, meta: nil, error: nil) return false unless level?(level) msg = yield if msg.nil? && block_given? ||= {} [:error] = error unless error.nil? .merge!(MDC.items) if MDC.any? event = ::Intake::LogEvent.new(Time.now, level, @name, msg, meta: ) dispatch_event event end |