Class: Fluent::Plugin::BufferedStdoutOutput

Inherits:
Output
  • Object
show all
Defined in:
lib/fluent/plugin/out_buffered_stdout.rb

Constant Summary collapse

DEFAULT_FORMAT_TYPE =
'json'

Constants inherited from Output

Output::CHUNKING_FIELD_WARN_NUM, Output::CHUNK_KEY_PATTERN, Output::CHUNK_KEY_PLACEHOLDER_PATTERN, Output::FORMAT_MSGPACK_STREAM, Output::FORMAT_MSGPACK_STREAM_TIME_INT

Constants included from Configurable

Configurable::CONFIG_TYPE_REGISTRY

Instance Attribute Summary collapse

Attributes inherited from Output

#as_secondary, #buffer, #chunk_key_tag, #chunk_key_time, #chunk_keys, #delayed_commit, #delayed_commit_timeout, #emit_count, #emit_records, #in_tests, #num_errors, #output_enqueue_thread_waiting, #retry, #rollback_count, #secondary, #write_count

Attributes included from Fluent::PluginLoggerMixin

#log

Instance Method Summary collapse

Methods inherited from Output

#acts_as_secondary, #after_shutdown, #after_start, #before_shutdown, #close, #commit_write, #emit_buffered, #emit_events, #emit_sync, #enqueue_thread_run, #enqueue_thread_wait, #execute_chunking, #extract_placeholders, #flush_thread_run, #flush_thread_wakeup, #force_flush, #handle_stream_simple, #handle_stream_with_custom_format, #handle_stream_with_standard_format, #implement?, #interrupt_flushes, #metadata, #next_flush_time, #prefer_buffered_processing, #process, #retry_state, #rollback_write, #shutdown, #start, #stop, #submit_flush_all, #submit_flush_once, #support_in_v12_style?, #terminate, #try_flush, #try_rollback_all, #try_rollback_write, #write_guard

Methods included from UniqueId::Mixin

#dump_unique_id_hex, #generate_unique_id

Methods included from Fluent::PluginHelper::Mixin

included

Methods included from Fluent::PluginLoggerMixin

included, #start, #terminate

Methods included from Fluent::PluginId

#plugin_id, #plugin_id_configured?, #plugin_id_for_test?

Methods inherited from Base

#after_shutdown, #after_shutdown?, #after_start, #after_started?, #before_shutdown, #before_shutdown?, #close, #closed?, #configured?, #has_router?, #inspect, #shutdown, #shutdown?, #start, #started?, #stop, #stopped?, #terminate, #terminated?

Methods included from SystemConfig::Mixin

#system_config, #system_config_override

Methods included from Configurable

#config, included, lookup_type, register_type

Constructor Details

#initializeBufferedStdoutOutput

Returns a new instance of BufferedStdoutOutput.



39
40
41
42
# File 'lib/fluent/plugin/out_buffered_stdout.rb', line 39

def initialize
  super
  @delayed = false
end

Instance Attribute Details

#delayedObject

Returns the value of attribute delayed.



37
38
39
# File 'lib/fluent/plugin/out_buffered_stdout.rb', line 37

def delayed
  @delayed
end

Instance Method Details

#configure(conf) ⇒ Object



48
49
50
51
52
53
54
55
# File 'lib/fluent/plugin/out_buffered_stdout.rb', line 48

def configure(conf)
  if conf['output_type'] && !conf['format']
    conf['format'] = conf['output_type']
  end
  compat_parameters_convert(conf, :inject, :formatter)
  super
  @formatter = formatter_create(conf: conf.elements('format').first, default_type: DEFAULT_FORMAT_TYPE)
end

#format(tag, time, record) ⇒ Object



65
66
67
68
# File 'lib/fluent/plugin/out_buffered_stdout.rb', line 65

def format(tag, time, record)
  record = inject_values_to_record(tag, time, record)
  "#{Time.at(time).localtime} #{tag}: #{@formatter.format(tag, time, record).chomp}\n"
end

#prefer_delayed_commitObject



44
45
46
# File 'lib/fluent/plugin/out_buffered_stdout.rb', line 44

def prefer_delayed_commit
  @delayed
end

#try_write(chunk) ⇒ Object



61
62
63
# File 'lib/fluent/plugin/out_buffered_stdout.rb', line 61

def try_write(chunk)
  chunk.write_to($log)
end

#write(chunk) ⇒ Object



57
58
59
# File 'lib/fluent/plugin/out_buffered_stdout.rb', line 57

def write(chunk)
  chunk.write_to($log)
end