class Fluent::TailMultilineInput_EX::TailExWatcher_EX
Public Class Methods
new(path, rotate_wait, pe, &receive_lines)
click to toggle source
Calls superclass method
# File lib/fluent/plugin/in_tail_multiline_ex.rb, line 254 def initialize(path, rotate_wait, pe, &receive_lines) @parent_receive_lines = receive_lines super(path, rotate_wait, pe, &method(:_receive_lines)) #super(path, rotate_wait, pe, &receive_lines) @close_trigger = TimerWatcher.new(rotate_wait * 2, false, &method(:_close)) end
Public Instance Methods
_close()
click to toggle source
# File lib/fluent/plugin/in_tail_multiline_ex.rb, line 275 def _close @close_trigger.detach if @close_trigger.attached? self.class.superclass.instance_method(:close).bind(self).call @io_handler.on_notify @io_handler.close $log.info "stop following of #{@path}" end
_receive_lines(lines)
click to toggle source
# File lib/fluent/plugin/in_tail_multiline_ex.rb, line 261 def _receive_lines(lines) tag = @path.tr('/', '.').gsub(/\.+/, '.').gsub(/^\./, '') @parent_receive_lines.call(lines, tag) end
close(loop=nil)
click to toggle source
# File lib/fluent/plugin/in_tail_multiline_ex.rb, line 266 def close(loop=nil) detach # detach first to avoid timer conflict if loop @close_trigger.attach(loop) else _close end end