Class: Fluent::Plugin::TailInput::TailWatcher::LineBufferTimerFlusher
- Inherits:
-
Object
- Object
- Fluent::Plugin::TailInput::TailWatcher::LineBufferTimerFlusher
- Defined in:
- lib/fluent/plugin/in_tail.rb
Instance Attribute Summary collapse
-
#line_buffer ⇒ Object
Returns the value of attribute line_buffer.
Instance Method Summary collapse
- #close(tw) ⇒ Object
-
#initialize(log, flush_interval, &flush_method) ⇒ LineBufferTimerFlusher
constructor
A new instance of LineBufferTimerFlusher.
- #on_notify(tw) ⇒ Object
- #reset_timer ⇒ Object
Constructor Details
#initialize(log, flush_interval, &flush_method) ⇒ LineBufferTimerFlusher
Returns a new instance of LineBufferTimerFlusher.
1242 1243 1244 1245 1246 1247 1248 |
# File 'lib/fluent/plugin/in_tail.rb', line 1242 def initialize(log, flush_interval, &flush_method) @log = log @flush_interval = flush_interval @flush_method = flush_method @start = nil @line_buffer = nil end |
Instance Attribute Details
#line_buffer ⇒ Object
Returns the value of attribute line_buffer.
1240 1241 1242 |
# File 'lib/fluent/plugin/in_tail.rb', line 1240 def line_buffer @line_buffer end |
Instance Method Details
#close(tw) ⇒ Object
1262 1263 1264 1265 1266 1267 |
# File 'lib/fluent/plugin/in_tail.rb', line 1262 def close(tw) return unless @line_buffer @flush_method.call(tw, @line_buffer) @line_buffer = nil end |
#on_notify(tw) ⇒ Object
1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 |
# File 'lib/fluent/plugin/in_tail.rb', line 1250 def on_notify(tw) unless @start && @flush_method return end if Time.now - @start >= @flush_interval @flush_method.call(tw, @line_buffer) if @line_buffer @line_buffer = nil @start = nil end end |
#reset_timer ⇒ Object
1269 1270 1271 1272 1273 |
# File 'lib/fluent/plugin/in_tail.rb', line 1269 def reset_timer return unless @flush_interval @start = Time.now end |