Class: Rack::ActionLogger::Emitter
- Inherits:
-
Object
- Object
- Rack::ActionLogger::Emitter
- Defined in:
- lib/rack/action_logger/emitter.rb
Instance Method Summary collapse
- #emit(context = nil) ⇒ Object
-
#initialize ⇒ Emitter
constructor
A new instance of Emitter.
Constructor Details
#initialize ⇒ Emitter
Returns a new instance of Emitter.
4 5 6 7 8 9 10 11 12 |
# File 'lib/rack/action_logger/emitter.rb', line 4 def initialize @can_emit = !Container.is_emit_started unless @can_emit Rack::ActionLogger.logger.error("#{self.class} is already defined.") Rack::ActionLogger.logger.error("#{Thread.current.backtrace.join("\n")}") end @emit_adapter = Rack::ActionLogger.configuration.emit_adapter @container = Container end |
Instance Method Details
#emit(context = nil) ⇒ Object
14 15 16 17 18 19 20 21 22 |
# File 'lib/rack/action_logger/emitter.rb', line 14 def emit(context=nil) @container.is_emit_started = true @container.import(context) if context result = yield emit_all_logs # emit log unless exception raised result ensure @container.clear if @can_emit end |