class Fluent::TailExAsisInput::TailExAsisWatcher
Public Class Methods
new(path, rotate_wait, pe, &receive_lines)
click to toggle source
Calls superclass method
# File lib/fluent/plugin/in_tail_ex_asis.rb, line 131 def initialize(path, rotate_wait, pe, &receive_lines) @parent_receive_lines = receive_lines super(path, rotate_wait, pe, &method(:_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_ex_asis.rb, line 151 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_ex_asis.rb, line 137 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_ex_asis.rb, line 142 def close(loop=nil) detach # detach first to avoid timer conflict if loop @close_trigger.attach(loop) else _close end end