Class: PuppetDebugServer::LogMessageAggregator
- Inherits:
-
Object
- Object
- PuppetDebugServer::LogMessageAggregator
- Defined in:
- lib/puppet-debugserver/puppet_debug_session.rb
Overview
A helper class which hooks into log messages and saves them in receive order
Instance Attribute Summary collapse
-
#messages ⇒ Array<Puppet::Util::Log>
readonly
The saved messages.
Instance Method Summary collapse
-
#initialize(hook_manager) ⇒ LogMessageAggregator
constructor
A new instance of LogMessageAggregator.
-
#on_hook_log_message(args) ⇒ Object
Fires when a message is sent to the puppet logger Arguments: Message - The message being sent to the log.
-
#start! ⇒ Object
Start aggregating log messages.
-
#stop! ⇒ Object
Stop aggregating log messages.
Constructor Details
#initialize(hook_manager) ⇒ LogMessageAggregator
Returns a new instance of LogMessageAggregator.
513 514 515 516 517 518 |
# File 'lib/puppet-debugserver/puppet_debug_session.rb', line 513 def initialize(hook_manager) @hook_manager = hook_manager @hook_id = :"aggregator#{object_id}" = [] @started = false end |
Instance Attribute Details
#messages ⇒ Array<Puppet::Util::Log> (readonly)
The saved messages
510 511 512 |
# File 'lib/puppet-debugserver/puppet_debug_session.rb', line 510 def end |
Instance Method Details
#on_hook_log_message(args) ⇒ Object
Fires when a message is sent to the puppet logger Arguments:
Message - The being sent to the log
537 538 539 |
# File 'lib/puppet-debugserver/puppet_debug_session.rb', line 537 def (args) << args[0] end |
#start! ⇒ Object
Start aggregating log messages
521 522 523 524 525 |
# File 'lib/puppet-debugserver/puppet_debug_session.rb', line 521 def start! return if @started @hook_manager.add_hook(:hook_log_message, @hook_id) { |args| (args) } end |
#stop! ⇒ Object
Stop aggregating log messages
528 529 530 531 532 |
# File 'lib/puppet-debugserver/puppet_debug_session.rb', line 528 def stop! return unless @started @hook_manager.delete_hook(:hook_log_message, @hook_id) end |