Class: Foam::Ruby::OtelLogger
- Inherits:
-
Logger
- Object
- Logger
- Foam::Ruby::OtelLogger
- Defined in:
- lib/foam/ruby/log_subscriber.rb
Overview
Logger subclass that forwards every #add call to OtelLogDevice. Designed to be broadcast-attached to Rails.logger, not used standalone. Does no level filtering — the parent BroadcastLogger already decided this message should be delivered.
Instance Method Summary collapse
- #add(severity, message = nil, progname = nil, &block) ⇒ Object
-
#initialize ⇒ OtelLogger
constructor
A new instance of OtelLogger.
Constructor Details
#initialize ⇒ OtelLogger
Returns a new instance of OtelLogger.
56 57 58 59 |
# File 'lib/foam/ruby/log_subscriber.rb', line 56 def initialize super(NullLogDevice.new) @otel_device = OtelLogDevice.new end |
Instance Method Details
#add(severity, message = nil, progname = nil, &block) ⇒ Object
61 62 63 64 65 |
# File 'lib/foam/ruby/log_subscriber.rb', line 61 def add(severity, = nil, progname = nil, &block) msg = || (block ? block.call : progname) @otel_device.emit(severity || ::Logger::INFO, msg) true end |