class Fluent::RootAgent::RootAgentProxyWithoutErrorCollector
<label @ERROR> element use RootAgent wrapped by # this RootAgentProxyWithoutErrorCollector. So that those elements don't send cause infinite loop.
Public Class Methods
new(root_agent)
click to toggle source
Calls superclass method
# File lib/fluent/root_agent.rb, line 200 def initialize(root_agent) super @suppress_emit_error_log_interval = 0 @next_emit_error_log_time = nil interval_time = root_agent.instance_variable_get(:@suppress_emit_error_log_interval) suppress_interval(interval_time) unless interval_time.zero? end
Public Instance Methods
emit_error_event(tag, time, record, error)
click to toggle source
# File lib/fluent/root_agent.rb, line 210 def emit_error_event(tag, time, record, error) error_info = {:error_class => error.class, :error => error.to_s, :tag => tag, :time => time, :record => record} log.warn "dump an error event in @ERROR:", error_info end
handle_emits_error(tag, es, e)
click to toggle source
# File lib/fluent/root_agent.rb, line 215 def handle_emits_error(tag, es, e) now = Engine.now if @suppress_emit_error_log_interval.zero? || now > @next_emit_error_log_time log.warn "emit transaction failed in @ERROR:", :error_class => e.class, :error => e, :tag => tag log.warn_backtrace @next_emit_error_log_time = now + @suppress_emit_error_log_interval end raise e end