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