Full Code of fluent/fluentd for AI

master 357c753e92b2 cached
578 files
3.6 MB
959.6k tokens
5493 symbols
1 requests
Download .txt
Showing preview only (3,830K chars total). Download the full file or copy to clipboard to get everything.
Repository: fluent/fluentd
Branch: master
Commit: 357c753e92b2
Files: 578
Total size: 3.6 MB

Directory structure:
gitextract_m1i_qpi2/

├── .deepsource.toml
├── .github/
│   ├── DISCUSSION_TEMPLATE/
│   │   ├── q-a-japanese.yml
│   │   └── q-a.yml
│   ├── ISSUE_TEMPLATE/
│   │   ├── bug_report.yml
│   │   ├── config.yml
│   │   └── feature_request.yml
│   ├── ISSUE_TEMPLATE.md
│   ├── PULL_REQUEST_TEMPLATE.md
│   ├── dependabot.yml
│   └── workflows/
│       ├── backport.yml
│       ├── benchmark.yml
│       ├── rubocop.yml
│       ├── scorecards.yml
│       ├── stale-actions.yml
│       ├── test-ruby-head.yml
│       └── test.yml
├── .gitignore
├── .rubocop.yml
├── ADOPTERS.md
├── AUTHORS
├── CHANGELOG.md
├── CONTRIBUTING.md
├── GOVERNANCE.md
├── Gemfile
├── GithubWorkflow.md
├── LICENSE
├── MAINTAINERS.md
├── README.md
├── Rakefile
├── SECURITY.md
├── bin/
│   ├── fluent-binlog-reader
│   ├── fluent-ca-generate
│   ├── fluent-cap-ctl
│   ├── fluent-ctl
│   ├── fluent-debug
│   ├── fluent-plugin-config-format
│   └── fluent-plugin-generate
├── code-of-conduct.md
├── example/
│   ├── copy_roundrobin.conf
│   ├── counter.conf
│   ├── filter_stdout.conf
│   ├── in_forward.conf
│   ├── in_forward_client.conf
│   ├── in_forward_shared_key.conf
│   ├── in_forward_tls.conf
│   ├── in_forward_users.conf
│   ├── in_forward_workers.conf
│   ├── in_http.conf
│   ├── in_out_forward.conf
│   ├── in_sample_blocks.conf
│   ├── in_sample_with_compression.conf
│   ├── in_syslog.conf
│   ├── in_tail.conf
│   ├── in_tcp.conf
│   ├── in_udp.conf
│   ├── logevents.conf
│   ├── multi_filters.conf
│   ├── out_copy.conf
│   ├── out_exec_filter.conf
│   ├── out_file.conf
│   ├── out_forward.conf
│   ├── out_forward_buf_file.conf
│   ├── out_forward_client.conf
│   ├── out_forward_heartbeat_none.conf
│   ├── out_forward_sd.conf
│   ├── out_forward_shared_key.conf
│   ├── out_forward_tls.conf
│   ├── out_forward_users.conf
│   ├── out_null.conf
│   ├── sd.yaml
│   ├── secondary_file.conf
│   ├── suppress_config_dump.conf
│   ├── v0_12_filter.conf
│   ├── v1_literal_example.conf
│   └── worker_section.conf
├── fluent.conf
├── fluentd.gemspec
├── lib/
│   └── fluent/
│       ├── agent.rb
│       ├── capability.rb
│       ├── clock.rb
│       ├── command/
│       │   ├── binlog_reader.rb
│       │   ├── bundler_injection.rb
│       │   ├── ca_generate.rb
│       │   ├── cap_ctl.rb
│       │   ├── cat.rb
│       │   ├── ctl.rb
│       │   ├── debug.rb
│       │   ├── fluentd.rb
│       │   ├── plugin_config_formatter.rb
│       │   └── plugin_generator.rb
│       ├── compat/
│       │   ├── call_super_mixin.rb
│       │   ├── detach_process_mixin.rb
│       │   ├── exec_util.rb
│       │   ├── file_util.rb
│       │   ├── filter.rb
│       │   ├── formatter.rb
│       │   ├── formatter_utils.rb
│       │   ├── handle_tag_and_time_mixin.rb
│       │   ├── handle_tag_name_mixin.rb
│       │   ├── input.rb
│       │   ├── output.rb
│       │   ├── output_chain.rb
│       │   ├── parser.rb
│       │   ├── parser_utils.rb
│       │   ├── propagate_default.rb
│       │   ├── record_filter_mixin.rb
│       │   ├── set_tag_key_mixin.rb
│       │   ├── set_time_key_mixin.rb
│       │   ├── socket_util.rb
│       │   ├── string_util.rb
│       │   ├── structured_format_mixin.rb
│       │   └── type_converter.rb
│       ├── config/
│       │   ├── basic_parser.rb
│       │   ├── configure_proxy.rb
│       │   ├── dsl.rb
│       │   ├── element.rb
│       │   ├── error.rb
│       │   ├── literal_parser.rb
│       │   ├── parser.rb
│       │   ├── section.rb
│       │   ├── types.rb
│       │   ├── v1_parser.rb
│       │   ├── yaml_parser/
│       │   │   ├── fluent_value.rb
│       │   │   ├── loader.rb
│       │   │   ├── parser.rb
│       │   │   └── section_builder.rb
│       │   └── yaml_parser.rb
│       ├── config.rb
│       ├── configurable.rb
│       ├── counter/
│       │   ├── base_socket.rb
│       │   ├── client.rb
│       │   ├── error.rb
│       │   ├── mutex_hash.rb
│       │   ├── server.rb
│       │   ├── store.rb
│       │   └── validator.rb
│       ├── counter.rb
│       ├── daemon.rb
│       ├── daemonizer.rb
│       ├── engine.rb
│       ├── env.rb
│       ├── error.rb
│       ├── event.rb
│       ├── event_router.rb
│       ├── ext_monitor_require.rb
│       ├── file_wrapper.rb
│       ├── filter.rb
│       ├── fluent_log_event_router.rb
│       ├── formatter.rb
│       ├── input.rb
│       ├── label.rb
│       ├── load.rb
│       ├── log/
│       │   └── console_adapter.rb
│       ├── log.rb
│       ├── match.rb
│       ├── mixin.rb
│       ├── msgpack_factory.rb
│       ├── oj_options.rb
│       ├── output.rb
│       ├── output_chain.rb
│       ├── parser.rb
│       ├── plugin/
│       │   ├── bare_output.rb
│       │   ├── base.rb
│       │   ├── buf_file.rb
│       │   ├── buf_file_single.rb
│       │   ├── buf_memory.rb
│       │   ├── buffer/
│       │   │   ├── chunk.rb
│       │   │   ├── file_chunk.rb
│       │   │   ├── file_single_chunk.rb
│       │   │   └── memory_chunk.rb
│       │   ├── buffer.rb
│       │   ├── compressable.rb
│       │   ├── exec_util.rb
│       │   ├── file_util.rb
│       │   ├── filter.rb
│       │   ├── filter_grep.rb
│       │   ├── filter_parser.rb
│       │   ├── filter_record_transformer.rb
│       │   ├── filter_stdout.rb
│       │   ├── formatter.rb
│       │   ├── formatter_csv.rb
│       │   ├── formatter_hash.rb
│       │   ├── formatter_json.rb
│       │   ├── formatter_ltsv.rb
│       │   ├── formatter_msgpack.rb
│       │   ├── formatter_out_file.rb
│       │   ├── formatter_single_value.rb
│       │   ├── formatter_stdout.rb
│       │   ├── formatter_tsv.rb
│       │   ├── in_debug_agent.rb
│       │   ├── in_dummy.rb
│       │   ├── in_exec.rb
│       │   ├── in_forward.rb
│       │   ├── in_gc_stat.rb
│       │   ├── in_http.rb
│       │   ├── in_monitor_agent.rb
│       │   ├── in_object_space.rb
│       │   ├── in_sample.rb
│       │   ├── in_syslog.rb
│       │   ├── in_tail/
│       │   │   ├── group_watch.rb
│       │   │   └── position_file.rb
│       │   ├── in_tail.rb
│       │   ├── in_tcp.rb
│       │   ├── in_udp.rb
│       │   ├── in_unix.rb
│       │   ├── input.rb
│       │   ├── metrics.rb
│       │   ├── metrics_local.rb
│       │   ├── multi_output.rb
│       │   ├── out_buffer.rb
│       │   ├── out_copy.rb
│       │   ├── out_exec.rb
│       │   ├── out_exec_filter.rb
│       │   ├── out_file.rb
│       │   ├── out_forward/
│       │   │   ├── ack_handler.rb
│       │   │   ├── connection_manager.rb
│       │   │   ├── error.rb
│       │   │   ├── failure_detector.rb
│       │   │   ├── handshake_protocol.rb
│       │   │   ├── load_balancer.rb
│       │   │   └── socket_cache.rb
│       │   ├── out_forward.rb
│       │   ├── out_http.rb
│       │   ├── out_null.rb
│       │   ├── out_relabel.rb
│       │   ├── out_roundrobin.rb
│       │   ├── out_secondary_file.rb
│       │   ├── out_stdout.rb
│       │   ├── out_stream.rb
│       │   ├── output.rb
│       │   ├── owned_by_mixin.rb
│       │   ├── parser.rb
│       │   ├── parser_apache.rb
│       │   ├── parser_apache2.rb
│       │   ├── parser_apache_error.rb
│       │   ├── parser_csv.rb
│       │   ├── parser_json.rb
│       │   ├── parser_ltsv.rb
│       │   ├── parser_msgpack.rb
│       │   ├── parser_multiline.rb
│       │   ├── parser_nginx.rb
│       │   ├── parser_none.rb
│       │   ├── parser_regexp.rb
│       │   ├── parser_syslog.rb
│       │   ├── parser_tsv.rb
│       │   ├── sd_file.rb
│       │   ├── sd_srv.rb
│       │   ├── sd_static.rb
│       │   ├── service_discovery.rb
│       │   ├── socket_util.rb
│       │   ├── storage.rb
│       │   ├── storage_local.rb
│       │   └── string_util.rb
│       ├── plugin.rb
│       ├── plugin_helper/
│       │   ├── cert_option.rb
│       │   ├── child_process.rb
│       │   ├── compat_parameters.rb
│       │   ├── counter.rb
│       │   ├── event_emitter.rb
│       │   ├── event_loop.rb
│       │   ├── extract.rb
│       │   ├── formatter.rb
│       │   ├── http_server/
│       │   │   ├── app.rb
│       │   │   ├── methods.rb
│       │   │   ├── request.rb
│       │   │   ├── router.rb
│       │   │   ├── server.rb
│       │   │   └── ssl_context_builder.rb
│       │   ├── http_server.rb
│       │   ├── inject.rb
│       │   ├── metrics.rb
│       │   ├── parser.rb
│       │   ├── record_accessor.rb
│       │   ├── retry_state.rb
│       │   ├── server.rb
│       │   ├── service_discovery/
│       │   │   ├── manager.rb
│       │   │   └── round_robin_balancer.rb
│       │   ├── service_discovery.rb
│       │   ├── socket.rb
│       │   ├── socket_option.rb
│       │   ├── storage.rb
│       │   ├── thread.rb
│       │   └── timer.rb
│       ├── plugin_helper.rb
│       ├── plugin_id.rb
│       ├── process.rb
│       ├── registry.rb
│       ├── root_agent.rb
│       ├── rpc.rb
│       ├── source_only_buffer_agent.rb
│       ├── static_config_analysis.rb
│       ├── supervisor.rb
│       ├── system_config.rb
│       ├── test/
│       │   ├── base.rb
│       │   ├── driver/
│       │   │   ├── base.rb
│       │   │   ├── base_owned.rb
│       │   │   ├── base_owner.rb
│       │   │   ├── event_feeder.rb
│       │   │   ├── filter.rb
│       │   │   ├── formatter.rb
│       │   │   ├── input.rb
│       │   │   ├── multi_output.rb
│       │   │   ├── output.rb
│       │   │   ├── parser.rb
│       │   │   ├── storage.rb
│       │   │   └── test_event_router.rb
│       │   ├── filter_test.rb
│       │   ├── formatter_test.rb
│       │   ├── helpers.rb
│       │   ├── input_test.rb
│       │   ├── log.rb
│       │   ├── output_test.rb
│       │   ├── parser_test.rb
│       │   └── startup_shutdown.rb
│       ├── test.rb
│       ├── time.rb
│       ├── timezone.rb
│       ├── tls.rb
│       ├── unique_id.rb
│       ├── variable_store.rb
│       ├── version.rb
│       ├── win32api.rb
│       └── winsvc.rb
├── tasks/
│   ├── backport/
│   │   └── backporter.rb
│   ├── backport.rb
│   ├── benchmark/
│   │   ├── conf/
│   │   │   └── in_tail.conf
│   │   └── patch_in_tail.rb
│   └── benchmark.rb
├── templates/
│   ├── new_gem/
│   │   ├── Gemfile
│   │   ├── README.md.erb
│   │   ├── Rakefile
│   │   ├── fluent-plugin.gemspec.erb
│   │   ├── lib/
│   │   │   └── fluent/
│   │   │       └── plugin/
│   │   │           ├── filter.rb.erb
│   │   │           ├── formatter.rb.erb
│   │   │           ├── input.rb.erb
│   │   │           ├── output.rb.erb
│   │   │           ├── parser.rb.erb
│   │   │           └── storage.rb.erb
│   │   └── test/
│   │       ├── helper.rb.erb
│   │       └── plugin/
│   │           ├── test_filter.rb.erb
│   │           ├── test_formatter.rb.erb
│   │           ├── test_input.rb.erb
│   │           ├── test_output.rb.erb
│   │           ├── test_parser.rb.erb
│   │           └── test_storage.rb.erb
│   └── plugin_config_formatter/
│       ├── param.md-compact.erb
│       ├── param.md-table.erb
│       ├── param.md.erb
│       └── section.md.erb
└── test/
    ├── command/
    │   ├── test_binlog_reader.rb
    │   ├── test_ca_generate.rb
    │   ├── test_cap_ctl.rb
    │   ├── test_cat.rb
    │   ├── test_ctl.rb
    │   ├── test_fluentd.rb
    │   ├── test_plugin_config_formatter.rb
    │   └── test_plugin_generator.rb
    ├── compat/
    │   ├── test_calls_super.rb
    │   └── test_parser.rb
    ├── config/
    │   ├── assertions.rb
    │   ├── test_config_parser.rb
    │   ├── test_configurable.rb
    │   ├── test_configure_proxy.rb
    │   ├── test_dsl.rb
    │   ├── test_element.rb
    │   ├── test_literal_parser.rb
    │   ├── test_plugin_configuration.rb
    │   ├── test_section.rb
    │   ├── test_system_config.rb
    │   ├── test_types.rb
    │   └── test_yaml_parser.rb
    ├── counter/
    │   ├── test_client.rb
    │   ├── test_error.rb
    │   ├── test_mutex_hash.rb
    │   ├── test_server.rb
    │   ├── test_store.rb
    │   └── test_validator.rb
    ├── helper.rb
    ├── helpers/
    │   ├── fuzzy_assert.rb
    │   └── process_extenstion.rb
    ├── log/
    │   └── test_console_adapter.rb
    ├── plugin/
    │   ├── data/
    │   │   ├── 2010/
    │   │   │   └── 01/
    │   │   │       ├── 20100102-030405.log
    │   │   │       ├── 20100102-030406.log
    │   │   │       └── 20100102.log
    │   │   ├── log/
    │   │   │   ├── bar
    │   │   │   ├── foo/
    │   │   │   │   ├── bar.log
    │   │   │   │   └── bar2
    │   │   │   └── test.log
    │   │   ├── log_numeric/
    │   │   │   ├── 01.log
    │   │   │   ├── 02.log
    │   │   │   ├── 12.log
    │   │   │   └── 14.log
    │   │   └── sd_file/
    │   │       ├── config
    │   │       ├── config.json
    │   │       ├── config.yaml
    │   │       ├── config.yml
    │   │       └── invalid_config.yml
    │   ├── in_tail/
    │   │   ├── test_fifo.rb
    │   │   ├── test_io_handler.rb
    │   │   └── test_position_file.rb
    │   ├── out_forward/
    │   │   ├── test_ack_handler.rb
    │   │   ├── test_connection_manager.rb
    │   │   ├── test_handshake_protocol.rb
    │   │   ├── test_load_balancer.rb
    │   │   └── test_socket_cache.rb
    │   ├── test_bare_output.rb
    │   ├── test_base.rb
    │   ├── test_buf_file.rb
    │   ├── test_buf_file_single.rb
    │   ├── test_buf_memory.rb
    │   ├── test_buffer.rb
    │   ├── test_buffer_chunk.rb
    │   ├── test_buffer_file_chunk.rb
    │   ├── test_buffer_file_single_chunk.rb
    │   ├── test_buffer_memory_chunk.rb
    │   ├── test_compressable.rb
    │   ├── test_file_util.rb
    │   ├── test_filter.rb
    │   ├── test_filter_grep.rb
    │   ├── test_filter_parser.rb
    │   ├── test_filter_record_transformer.rb
    │   ├── test_filter_stdout.rb
    │   ├── test_formatter_csv.rb
    │   ├── test_formatter_hash.rb
    │   ├── test_formatter_json.rb
    │   ├── test_formatter_ltsv.rb
    │   ├── test_formatter_msgpack.rb
    │   ├── test_formatter_out_file.rb
    │   ├── test_formatter_single_value.rb
    │   ├── test_formatter_tsv.rb
    │   ├── test_in_debug_agent.rb
    │   ├── test_in_exec.rb
    │   ├── test_in_forward.rb
    │   ├── test_in_gc_stat.rb
    │   ├── test_in_http.rb
    │   ├── test_in_monitor_agent.rb
    │   ├── test_in_object_space.rb
    │   ├── test_in_sample.rb
    │   ├── test_in_syslog.rb
    │   ├── test_in_tail.rb
    │   ├── test_in_tcp.rb
    │   ├── test_in_udp.rb
    │   ├── test_in_unix.rb
    │   ├── test_input.rb
    │   ├── test_metadata.rb
    │   ├── test_metrics.rb
    │   ├── test_metrics_local.rb
    │   ├── test_multi_output.rb
    │   ├── test_out_buffer.rb
    │   ├── test_out_copy.rb
    │   ├── test_out_exec.rb
    │   ├── test_out_exec_filter.rb
    │   ├── test_out_file.rb
    │   ├── test_out_forward.rb
    │   ├── test_out_http.rb
    │   ├── test_out_null.rb
    │   ├── test_out_relabel.rb
    │   ├── test_out_roundrobin.rb
    │   ├── test_out_secondary_file.rb
    │   ├── test_out_stdout.rb
    │   ├── test_out_stream.rb
    │   ├── test_output.rb
    │   ├── test_output_as_buffered.rb
    │   ├── test_output_as_buffered_backup.rb
    │   ├── test_output_as_buffered_compress.rb
    │   ├── test_output_as_buffered_overflow.rb
    │   ├── test_output_as_buffered_retries.rb
    │   ├── test_output_as_buffered_secondary.rb
    │   ├── test_output_as_standard.rb
    │   ├── test_owned_by.rb
    │   ├── test_parser.rb
    │   ├── test_parser_apache.rb
    │   ├── test_parser_apache2.rb
    │   ├── test_parser_apache_error.rb
    │   ├── test_parser_csv.rb
    │   ├── test_parser_json.rb
    │   ├── test_parser_labeled_tsv.rb
    │   ├── test_parser_msgpack.rb
    │   ├── test_parser_multiline.rb
    │   ├── test_parser_nginx.rb
    │   ├── test_parser_none.rb
    │   ├── test_parser_regexp.rb
    │   ├── test_parser_syslog.rb
    │   ├── test_parser_tsv.rb
    │   ├── test_sd_file.rb
    │   ├── test_sd_srv.rb
    │   ├── test_storage.rb
    │   ├── test_storage_local.rb
    │   └── test_string_util.rb
    ├── plugin_helper/
    │   ├── data/
    │   │   └── cert/
    │   │       ├── cert-key.pem
    │   │       ├── cert-with-CRLF.pem
    │   │       ├── cert-with-no-newline.pem
    │   │       ├── cert.pem
    │   │       ├── cert_chains/
    │   │       │   ├── ca-cert-key.pem
    │   │       │   ├── ca-cert.pem
    │   │       │   ├── cert-key.pem
    │   │       │   └── cert.pem
    │   │       ├── empty.pem
    │   │       ├── generate_cert.rb
    │   │       ├── with_ca/
    │   │       │   ├── ca-cert-key-pass.pem
    │   │       │   ├── ca-cert-key.pem
    │   │       │   ├── ca-cert-pass.pem
    │   │       │   ├── ca-cert.pem
    │   │       │   ├── cert-key-pass.pem
    │   │       │   ├── cert-key.pem
    │   │       │   ├── cert-pass.pem
    │   │       │   └── cert.pem
    │   │       └── without_ca/
    │   │           ├── cert-key-pass.pem
    │   │           ├── cert-key.pem
    │   │           ├── cert-pass.pem
    │   │           └── cert.pem
    │   ├── http_server/
    │   │   ├── test_app.rb
    │   │   ├── test_request.rb
    │   │   └── test_route.rb
    │   ├── service_discovery/
    │   │   ├── test_manager.rb
    │   │   └── test_round_robin_balancer.rb
    │   ├── test_cert_option.rb
    │   ├── test_child_process.rb
    │   ├── test_compat_parameters.rb
    │   ├── test_event_emitter.rb
    │   ├── test_event_loop.rb
    │   ├── test_extract.rb
    │   ├── test_formatter.rb
    │   ├── test_http_server_helper.rb
    │   ├── test_inject.rb
    │   ├── test_metrics.rb
    │   ├── test_parser.rb
    │   ├── test_record_accessor.rb
    │   ├── test_retry_state.rb
    │   ├── test_server.rb
    │   ├── test_service_discovery.rb
    │   ├── test_socket.rb
    │   ├── test_storage.rb
    │   ├── test_thread.rb
    │   └── test_timer.rb
    ├── scripts/
    │   ├── exec_script.rb
    │   ├── fluent/
    │   │   └── plugin/
    │   │       ├── formatter1/
    │   │       │   └── formatter_test1.rb
    │   │       ├── formatter2/
    │   │       │   └── formatter_test2.rb
    │   │       ├── formatter_known.rb
    │   │       ├── out_test.rb
    │   │       ├── out_test2.rb
    │   │       └── parser_known.rb
    │   └── windows_service_test.ps1
    ├── test_capability.rb
    ├── test_clock.rb
    ├── test_config.rb
    ├── test_configdsl.rb
    ├── test_daemonizer.rb
    ├── test_engine.rb
    ├── test_event.rb
    ├── test_event_router.rb
    ├── test_event_time.rb
    ├── test_file_wrapper.rb
    ├── test_filter.rb
    ├── test_fluent_log_event_router.rb
    ├── test_formatter.rb
    ├── test_input.rb
    ├── test_log.rb
    ├── test_match.rb
    ├── test_mixin.rb
    ├── test_msgpack_factory.rb
    ├── test_oj_options.rb
    ├── test_output.rb
    ├── test_plugin.rb
    ├── test_plugin_classes.rb
    ├── test_plugin_helper.rb
    ├── test_plugin_id.rb
    ├── test_process.rb
    ├── test_root_agent.rb
    ├── test_source_only_buffer_agent.rb
    ├── test_static_config_analysis.rb
    ├── test_supervisor.rb
    ├── test_test_drivers.rb
    ├── test_time_formatter.rb
    ├── test_time_parser.rb
    ├── test_tls.rb
    ├── test_unique_id.rb
    └── test_variable_store.rb

================================================
FILE CONTENTS
================================================

================================================
FILE: .deepsource.toml
================================================
version = 1

test_patterns = ["test/**/test_*.rb"]

exclude_patterns = [
    "bin/**",
    "docs/**",
    "example/**"
]

[[analyzers]]
name = "ruby"
enabled = true


================================================
FILE: .github/DISCUSSION_TEMPLATE/q-a-japanese.yml
================================================
title: "[QA (Japanese)]"
labels: ["Q&A (Japanese)"]
body:
  - type: markdown
    attributes:
      value: |
        日本語で気軽に質問するためのカテゴリです。もし他の人が困っているのを見つけたらぜひ回答してあげてください。
  - type: textarea
    id: question
    attributes:
      label: やりたいこと
      description: |
        何について困っているのかを書いてください。試したことや実際の結果を示してください。
        期待する挙動と実際の結果の違いがあればそれも書くのをおすすめします。
    validations:
      required: true
  - type: textarea
    id: configuration
    attributes:
      label: 設定した内容
      description: |
        どのような設定をして期待する挙動を実現しようとしたのかを書いてください。(例: fluentd.confの内容を貼り付ける)
      render: apache
  - type: textarea
    id: logs
    attributes:
      label: ログの内容
      description: |
        Fluentdのログを提示してください。エラーログがあると回答の助けになります。(例: fluentd.logの内容を貼り付ける)
      render: shell
  - type: textarea
    id: environment
    attributes:
      label: 環境について
      description: |
        - Fluentd or td-agent version: `fluentd --version` or `td-agent --version`
        - Operating system: `cat /etc/os-release`
        - Kernel version: `uname -r`

        どんな環境で困っているかの情報がないと、再現できないため誰も回答できないことがあります。
        必要な情報を記入することをおすすめします。
      value: |
        - Fluentd version:
        - TD Agent version:
        - Fluent Package version:
        - Docker image (tag):
        - Operating system:
        - Kernel version:
      render: markdown


================================================
FILE: .github/DISCUSSION_TEMPLATE/q-a.yml
================================================
title: "[Q&A]"
labels: ["Q&A"]
body:
  - type: markdown
    attributes:
      value: |
        It is recommended to support each other.
  - type: textarea
    id: question
    attributes:
      label: What is a problem?
      description: |
        A clear and concise description of what you want to happen.
        What exactly did you do (or not do) that was effective (or ineffective)?
    validations:
      required: true
  - type: textarea
    id: configuration
    attributes:
      label: Describe the configuration of Fluentd
      description: |
        If there is the actual configuration of Fluentd, it will help.
  - type: textarea
    id: logs
    attributes:
      label: Describe the logs of Fluentd
      description: |
        If there are error logs of Fluentd, it will help.
  - type: textarea
    id: environment
    attributes:
      label: Environment
      description: |
        - Fluentd or td-agent version: `fluentd --version` or `td-agent --version`
        - Operating system: `cat /etc/os-release`
        - Kernel version: `uname -r`

        Please describe your environment information. If will help to support.
      value: |
        - Fluentd version:
        - TD Agent version:
        - Fluent Package version:
        - Docker image (tag):
        - Operating system:
        - Kernel version:
      render: markdown


================================================
FILE: .github/ISSUE_TEMPLATE/bug_report.yml
================================================
name: Bug Report
description: Create a report with a procedure for reproducing the bug
labels: "waiting-for-triage"
body:
  - type: markdown
    attributes:
      value: |
        Check [CONTRIBUTING guideline](https://github.com/fluent/fluentd/blob/master/CONTRIBUTING.md) first and here is the list to help us investigate the problem.
  - type: textarea
    id: description
    attributes:
      label: Describe the bug
      description: A clear and concise description of what the bug is
    validations:
      required: true
  - type: textarea
    id: reproduce
    attributes:
      label: To Reproduce
      description: Steps to reproduce the behavior
    validations:
      required: true
  - type: textarea
    id: expected
    attributes:
      label: Expected behavior
      description: A clear and concise description of what you expected to happen
    validations:
      required: true
  - type: textarea
    id: environment
    attributes:
      label: Your Environment
      description: |
        - Fluentd or its package version: `fluentd --version` (Fluentd, fluent-package) or `td-agent --version` (td-agent)
        - Operating system: `cat /etc/os-release`
        - Kernel version: `uname -r`

        Tip: If you hit the problem with older fluentd version, try latest version first.
      value: |
        - Fluentd version:
        - Package version:
        - Operating system:
        - Kernel version:
      render: markdown
    validations:
      required: true
  - type: textarea
    id: configuration
    attributes:
      label: Your Configuration
      description: |
        Write your configuration here. Minimum reproducible fluentd.conf is recommended.
      render: apache
    validations:
      required: true
  - type: textarea
    id: logs
    attributes:
      label: Your Error Log
      description: Write your ALL error log here
      render: shell
    validations:
      required: true
  - type: textarea
    id: addtional-context
    attributes:
      label: Additional context
      description: Add any other context about the problem here.
    validations:
      required: false


================================================
FILE: .github/ISSUE_TEMPLATE/config.yml
================================================
blank_issues_enabled: false
contact_links:
  - name: Ask a Question
    url: https://github.com/fluent/fluentd/discussions
    about: I have questions about Fluentd and plugins. Please ask and answer questions at https://github.com/fluent/fluentd/discussions
  - name: Feedback a Fluentd Use-Case/Testimonial
    url: https://github.com/fluent/fluentd-website/issues/new?template=testimonials.yml
    about: Feedback your Fluentd use-case/testimonial, How do you use Fluentd in your service?


================================================
FILE: .github/ISSUE_TEMPLATE/feature_request.yml
================================================
name: Feature request
description: Suggest an idea for this project
labels: "waiting-for-triage"
body:
  - type: markdown
    attributes:
      value: |
        Check [CONTRIBUTING guideline](https://github.com/fluent/fluentd/blob/master/CONTRIBUTING.md) first and here is the list to help us investigate the problem.
  - type: textarea
    id: description
    attributes:
      label: Is your feature request related to a problem? Please describe.
      description: |
        A clear and concise description of what the problem is.
        Ex. I'm always frustrated when [...]
    validations:
      required: true
  - type: textarea
    id: solution
    attributes:
      label: Describe the solution you'd like
      description: A clear and concise description of what you want to happen.
    validations:
      required: true
  - type: textarea
    id: alternative
    attributes:
      label: Describe alternatives you've considered
      description: A clear and concise description of any alternative solutions or features you've considered.
    validations:
      required: true
  - type: textarea
    id: addtional-context
    attributes:
      label: Additional context
      description: Add any other context or screenshots about the feature request here.
    validations:
      required: false



================================================
FILE: .github/ISSUE_TEMPLATE.md
================================================
Check [CONTRIBUTING guideline](https://github.com/fluent/fluentd/blob/master/CONTRIBUTING.md) first and here is the list to help us investigate the problem.

**Got a question or problem?**

RESOURCES of [Official site](https://www.fluentd.org/) and [Fluentd documentation](https://docs.fluentd.org/) may help you.

If you have further questions about Fluentd and plugins, please direct these to [Mailing List](https://groups.google.com/forum/#!forum/fluentd).
Don't use Github issue for asking questions. Here are examples:

- I installed xxx plugin but it doesn't work. Why?
- Fluentd starts but logs are not sent to xxx. Am I wrong?
- I want to do xxx. How to realize it with plugins?

We may close such questions to keep clear repository for developers and users.
Github issue is mainly for submitting a bug report or feature request. See below.

If you can't judge your case is a bug or not, use mailing list or slack first.


================================================
FILE: .github/PULL_REQUEST_TEMPLATE.md
================================================
<!--
Thank you for contributing to Fluentd!
Your commits need to follow DCO: https://probot.github.io/apps/dco/
And please provide the following information to help us make the most of your pull request:
-->

**Which issue(s) this PR fixes**: 
Fixes #

**What this PR does / why we need it**: 

**Docs Changes**:

**Release Note**: 


================================================
FILE: .github/dependabot.yml
================================================
version: 2
updates:
  - package-ecosystem: 'github-actions'
    directory: '/'
    schedule:
      interval: 'weekly'


================================================
FILE: .github/workflows/backport.yml
================================================
name: Backport Pull Requests

on:
  schedule:
    # Sun 10:00 (JST)
    - cron: '0 1 * * 0'
  workflow_dispatch:

permissions:
  contents: read

concurrency:
  group: ${{ github.head_ref || github.sha }}-${{ github.workflow }}
  cancel-in-progress: true

jobs:
  test:
    permissions:
      contents: write
      pull-requests: write
    runs-on: ubuntu-latest
    continue-on-error: false
    strategy:
      fail-fast: false
      matrix:
        ruby-version: ['3.4']
        task: ['backport:v1_19']

    name: Backport PR ( ${{ matrix.task }} )
    steps:
      - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
        with:
          # fetch all history for all branches to execute cherry-pick
          fetch-depth: 0
      - name: Set up Ruby
        uses: ruby/setup-ruby@dffb23f65a78bba8db45d387d5ea1bbd6be3ef18 # v1.293.0
        with:
          ruby-version: ${{ matrix.ruby-version }}
          bundler-cache: true
      - name: Set up git identity
        run: |
          git config user.name "github-actions[bot]"
          git config user.email "github-actions[bot]@users.noreply.github.com"
      - name: Run backport task ( ${{ matrix.task }} )
        shell: bash
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: |
          bundle exec rake ${{ matrix.task }}


================================================
FILE: .github/workflows/benchmark.yml
================================================
name: Benchmark

on:
  push:
    branches: [master]
  pull_request:
    branches: [master]
  workflow_dispatch:

permissions: read-all

concurrency:
  group: ${{ github.head_ref || github.sha }}-${{ github.workflow }}
  cancel-in-progress: true

jobs:
  test:
    runs-on: ${{ matrix.os }}
    continue-on-error: false
    strategy:
      fail-fast: false
      matrix:
        os: ['ubuntu-latest', 'macos-latest', 'windows-latest']
        ruby-version: ['4.0']

    name: Ruby ${{ matrix.ruby-version }} on ${{ matrix.os }}
    steps:
      - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
      - name: Set up Ruby
        uses: ruby/setup-ruby@dffb23f65a78bba8db45d387d5ea1bbd6be3ef18 # v1.293.0
        with:
          ruby-version: ${{ matrix.ruby-version }}
      - name: Install dependencies
        run: bundle install
      - name: Run Benchmark
        shell: bash # Ensure to use bash shell on all platforms
        run: |
          bundle exec rake benchmark:run:in_tail | tee -a $GITHUB_STEP_SUMMARY


================================================
FILE: .github/workflows/rubocop.yml
================================================
name: RucoCop Security & Performance Check

on:
  push:
    paths-ignore:
      - '*.md'
      - 'lib/fluent/version.rb'
  pull_request:
    paths-ignore:
      - '*.md'
      - 'lib/fluent/version.rb'
  workflow_dispatch:

concurrency:
  group: ${{ github.head_ref || github.sha }}-${{ github.workflow }}
  cancel-in-progress: true

permissions: read-all

jobs:
  rubocop:
    runs-on: ubuntu-latest
    continue-on-error: false
    strategy:
      fail-fast: false
      matrix:
        ruby-version: ['4.0']
    name: Ruby ${{ matrix.ruby-version }}
    steps:
      - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
      - name: Set up Ruby
        uses: ruby/setup-ruby@dffb23f65a78bba8db45d387d5ea1bbd6be3ef18 # v1.293.0
        with:
          ruby-version: ${{ matrix.ruby-version }}
      - name: Install dependencies
        run: |
          bundle install
          gem install rubocop-performance
      - name: Run RuboCop
        run: rubocop


================================================
FILE: .github/workflows/scorecards.yml
================================================
name: Scorecard supply-chain security
on:
  # For Branch-Protection check. Only the default branch is supported. See
  # https://github.com/ossf/scorecard/blob/main/docs/checks.md#branch-protection
  branch_protection_rule:
  # To guarantee Maintained check is occasionally updated. See
  # https://github.com/ossf/scorecard/blob/main/docs/checks.md#maintained
  schedule:
    - cron: '38 12 * * 2'
  push:
    branches: [ "master" ]

# Declare default permissions as read only.
permissions: read-all

jobs:
  analysis:
    name: Scorecard analysis
    runs-on: ubuntu-latest
    permissions:
      # Needed to upload the results to code-scanning dashboard.
      security-events: write
      # Needed to publish results and get a badge (see publish_results below).
      id-token: write
      # Uncomment the permissions below if installing in a private repository.
      # contents: read
      # actions: read

    steps:
      - name: "Checkout code"
        uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
        with:
          persist-credentials: false

      - name: "Run analysis"
        uses: ossf/scorecard-action@4eaacf0543bb3f2c246792bd56e8cdeffafb205a # v2.4.3
        with:
          results_file: results.sarif
          results_format: sarif
          # (Optional) "write" PAT token. Uncomment the `repo_token` line below if:
          # - you want to enable the Branch-Protection check on a *public* repository, or
          # - you are installing Scorecard on a *private* repository
          # To create the PAT, follow the steps in https://github.com/ossf/scorecard-action?tab=readme-ov-file#authentication-with-fine-grained-pat-optional.
          # repo_token: ${{ secrets.SCORECARD_TOKEN }}

          # Public repositories:
          #   - Publish results to OpenSSF REST API for easy access by consumers
          #   - Allows the repository to include the Scorecard badge.
          #   - See https://github.com/ossf/scorecard-action#publishing-results.
          # For private repositories:
          #   - `publish_results` will always be set to `false`, regardless
          #     of the value entered here.
          publish_results: true

      # Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
      # format to the repository Actions tab.
      - name: "Upload artifact"
        uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
        with:
          name: SARIF file
          path: results.sarif
          retention-days: 5

      # Upload the results to GitHub's code scanning dashboard (optional).
      # Commenting out will disable upload of results to your repo's Code Scanning dashboard
      - name: "Upload to code-scanning"
        uses: github/codeql-action/upload-sarif@b1bff81932f5cdfc8695c7752dcee935dcd061c8 # v4.33.0
        with:
          sarif_file: results.sarif


================================================
FILE: .github/workflows/stale-actions.yml
================================================
name: "Mark or close stale issues and PRs"
on:
  schedule:
  - cron: "00 10 * * *"

permissions: read-all

jobs:
  stale:
    runs-on: ubuntu-latest
    permissions:
      issues: write
      pull-requests: write
    steps:
    - uses: actions/stale@b5d41d4e1d5dceea10e7104786b73624c18a190f # v10.2.0
      with:
        repo-token: ${{ secrets.GITHUB_TOKEN }}
        days-before-stale: 30
        days-before-close: 7
        stale-issue-message: "This issue has been automatically marked as stale because it has been open 30 days with no activity. Remove stale label or comment or this issue will be closed in 7 days"
        stale-pr-message: "This PR has been automatically marked as stale because it has been open 30 days with no activity. Remove stale label or comment or this PR will be closed in 7 days"
        close-issue-message: "This issue was automatically closed because of stale in 7 days"
        close-pr-message: "This PR was automatically closed because of stale in 7 days"
        stale-pr-label: "stale"
        stale-issue-label: "stale"
        exempt-issue-labels: "waiting-for-triage,bug,enhancement,feature request,pending,work-in-progress,v1,v2"
        exempt-pr-labels: "waiting-for-triage,bug,enhancement,feature request,pending,work-in-progress,v1,v2"
        exempt-all-assignees: true
        exempt-all-milestones: true


================================================
FILE: .github/workflows/test-ruby-head.yml
================================================
name: Test with Ruby head

on:
  schedule:
    - cron: '11 14 * * 0'
  workflow_dispatch:

permissions: read-all

jobs:
  test:
    runs-on: ${{ matrix.os }}
    continue-on-error: false
    strategy:
      fail-fast: false
      matrix:
        os: ['ubuntu-latest', 'macos-latest', 'windows-latest']
        ruby-version: ['head']
    env:
      RUBYOPT: "--disable-frozen_string_literal"
    name: Ruby ${{ matrix.ruby-version }} on ${{ matrix.os }}
    steps:
      - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
      - name: Set up Ruby
        uses: ruby/setup-ruby@dffb23f65a78bba8db45d387d5ea1bbd6be3ef18 # v1.293.0
        with:
          ruby-version: ${{ matrix.ruby-version }}
      - name: Install addons
        if: ${{ matrix.os == 'ubuntu-latest' }}
        run: sudo apt-get install libgmp3-dev libcap-ng-dev
      - name: Install dependencies
        run: bundle install
      - name: Run tests
        run: bundle exec rake test TESTOPTS="-v --report-slow-tests --no-show-detail-immediately"


================================================
FILE: .github/workflows/test.yml
================================================
name: Test

on:
  push:
    branches: [master]
    paths-ignore:
      - '*.md'
      - 'lib/fluent/version.rb'
  pull_request:
    branches: [master]
    paths-ignore:
      - '*.md'
      - 'lib/fluent/version.rb'
  workflow_dispatch:

concurrency:
  group: ${{ github.head_ref || github.sha }}-${{ github.workflow }}
  cancel-in-progress: true

permissions: read-all

jobs:
  test:
    runs-on: ${{ matrix.os }}
    continue-on-error: false
    strategy:
      fail-fast: false
      matrix:
        os: ['ubuntu-latest', 'macos-latest', 'windows-latest']
        ruby-version: ['4.0', '3.4', '3.3', '3.2']
    env:
      RUBYOPT: "--disable-frozen_string_literal"
    name: Ruby ${{ matrix.ruby-version }} on ${{ matrix.os }}
    steps:
      - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
      - name: Set up Ruby
        uses: ruby/setup-ruby@dffb23f65a78bba8db45d387d5ea1bbd6be3ef18 # v1.293.0
        with:
          ruby-version: ${{ matrix.ruby-version }}
      - name: Install addons
        if: ${{ matrix.os == 'ubuntu-latest' }}
        run: sudo apt-get install libgmp3-dev libcap-ng-dev
      - name: Install dependencies
        run: bundle install
      - name: Run tests
        run: bundle exec rake test TESTOPTS="-v --report-slow-tests --no-show-detail-immediately"

  test-windows-service:
    runs-on: windows-latest
    strategy:
      fail-fast: false
      matrix:
        ruby-version: ['4.0', '3.4', '3.3', '3.2']
    name: Windows service (Ruby ${{ matrix.ruby-version }})
    steps:
      - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
      - name: Set up Ruby
        uses: ruby/setup-ruby@dffb23f65a78bba8db45d387d5ea1bbd6be3ef18 # v1.293.0
        with:
          ruby-version: ${{ matrix.ruby-version }}
      - name: Install dependencies
        run: |
          bundle install
          rake install
      - name: Run tests
        run: test\scripts\windows_service_test.ps1


================================================
FILE: .gitignore
================================================
Gemfile.lock
INSTALL
NEWS
Makefile
Makefile.in
README
ac
aclocal.m4
autom4te.cache
confdefs.h
config.log
config.status
configure
deps/
fluent-cat
fluent-gem
fluentd
pkg/*
tmp/*
test/tmp/*
test/config/tmp/*
make_dist.sh
Gemfile.local
.ruby-version
*.swp
coverage/*
.vagrant/
cov-int/
cov-fluentd.tar.gz
.vscode
.idea/
.bundle/
/vendor/


================================================
FILE: .rubocop.yml
================================================
plugins:
  - rubocop-performance

AllCops:
  Exclude:
    - 'vendor/**/*'
  NewCops: enable
  SuggestExtensions: false
  TargetRubyVersion: 3.4

#
# Policy: Check Security & Performance in primary use-cases
# (Disable most of cosmetic rules)
#

Lint:
  Enabled: false

Style:
  Enabled: false

Gemspec:
  Enabled: false

Naming:
  Enabled: false

Layout:
  Enabled: false

Metrics:
  Enabled: false

Security:
  Enabled: true

Performance:
  Enabled: true

#
# False positive or exceptional cases
#

# False positive because it's intentional
Security/Open:
  Exclude:
    - lib/fluent/plugin/buffer/chunk.rb
  Enabled: true

# False positive because it's intentional
Security/Eval:
  Exclude:
    - lib/fluent/config/dsl.rb
    - lib/fluent/plugin.rb
    - lib/fluent/plugin/in_debug_agent.rb
  Enabled: true

# False positive because send method must accept literals.
Performance/StringIdentifierArgument:
  Exclude:
    - test/plugin/test_in_tcp.rb
    - test/plugin/test_in_udp.rb
    - test/counter/test_server.rb
    - test/plugin/test_out_forward.rb
    - lib/fluent/plugin/out_forward.rb
  Enabled: true

Performance/StringInclude:
  Exclude:
    - 'test/**/*'
    # It was not improved with String#include?
    - lib/fluent/command/plugin_config_formatter.rb
  Enabled: true

# False positive for include? against constant ranges.
# Almost same between include? and cover?.
# See https://github.com/rubocop/rubocop-jp/issues/20
Performance/RangeInclude:
   Exclude:
     - lib/fluent/plugin/parser_multiline.rb
   Enabled: true

# Allow using &method(:func)
Performance/MethodObjectAsBlock:
  Exclude:
    - 'test/**/*'
  Enabled: false

# Allow block.call
Performance/RedundantBlockCall:
  Exclude:
    - 'test/**/*'
    - 'lib/fluent/plugin_helper/*.rb'
    - 'lib/fluent/plugin/*.rb'
    - 'lib/fluent/compat/*.rb'
    - 'lib/fluent/config/*.rb'
    - 'lib/fluent/*.rb'
  Enabled: true

#
# TODO: low priority to be fixed
#
Performance/ConstantRegexp:
   Exclude:
     - 'test/**/*'
   Enabled: true

Performance/Sum:
  Exclude:
    - 'test/**/*'
  Enabled: true

Performance/CollectionLiteralInLoop:
  Exclude:
    - 'test/**/*'
  Enabled: true


================================================
FILE: ADOPTERS.md
================================================
# Fluentd Adopters

Fluentd is widely used by hundred of companies, please refer to the testimonial section of our project website  to learn more about it:

https://www.fluentd.org/testimonials


================================================
FILE: AUTHORS
================================================
FURUHASHI Sadayuki <frsyuki _at_ gmail.com>
NAKAGAWA Masahiro <repeatedly _at_ gmail.com>


================================================
FILE: CHANGELOG.md
================================================
# v1.20

## Release v1.20.0 - TBD

### Bug fix

* http_server helper: Fix IPv6 bind address support in URI construction
  * Fixed `URI::InvalidURIError` when binding to IPv6 addresses (e.g., `::`, `::1`)
  * IPv6 addresses are now properly bracketed in URIs per RFC 3986 (e.g., `http://[::]:24231`)
  * Handles pre-bracketed addresses correctly to avoid double-bracketing
  * Affects all plugins using http_server helper with IPv6 bind addresses

# v1.19

## Release v1.19.2 - 2026/02/13

### Bug Fix

* out_forward: add timeout to establish_connection to prevent infinite loop https://github.com/fluent/fluentd/pull/5138
* gem: use latest net-http to solve IPv6 addr error https://github.com/fluent/fluentd/pull/5192
* in_tail: fix error when files without read permission are included in glob patterns https://github.com/fluent/fluentd/pull/5222
* command/fluentd: load win32/registry when edit registry for Ruby 4.0 https://github.com/fluent/fluentd/pull/5221
* plugin_helper/http_server: Ensure request body is closed to prevent socket leaks in POST requests https://github.com/fluent/fluentd/pull/5234
* config: fix duplicate config file loading in config_include_dir https://github.com/fluent/fluentd/pull/5235
* gem: add ostruct gem as dependency for Ruby 4.0 https://github.com/fluent/fluentd/pull/5251

### Misc

* config: warn when backed-up config file will be included https://github.com/fluent/fluentd/pull/5252
* filter_record_transformer: use cgi/escape to avoid Ruby 4.0 deprecation https://github.com/fluent/fluentd/pull/5256
* CI fixes
  * https://github.com/fluent/fluentd/pull/5257
  * https://github.com/fluent/fluentd/pull/5229
  * https://github.com/fluent/fluentd/pull/5225
  * https://github.com/fluent/fluentd/pull/5186
  * https://github.com/fluent/fluentd/pull/5184
  * https://github.com/fluent/fluentd/pull/5176

## Release v1.19.1 - 2025/11/06

### Bug Fix

* YAML config: Supports parsing array format https://github.com/fluent/fluentd/pull/5139

### Misc

* gem: fix uri gem version to keep IPv6 tests https://github.com/fluent/fluentd/pull/5144
* CI fixes
  * https://github.com/fluent/fluentd/pull/5055
  * https://github.com/fluent/fluentd/pull/5057
  * https://github.com/fluent/fluentd/pull/5063
  * https://github.com/fluent/fluentd/pull/5064
  * https://github.com/fluent/fluentd/pull/5077
  * https://github.com/fluent/fluentd/pull/5078
  * https://github.com/fluent/fluentd/pull/5136
  * https://github.com/fluent/fluentd/pull/5140

## Release v1.19.0 - 2025/07/30

### Enhancement

New features:

* Add zstd compression support https://github.com/fluent/fluentd/pull/4657
  * Buffer: add `zstd` to `compress` option.
  * out_file: add `zstd` to `compress` option.
  * out_forward: add `zstd` to `compress` option. (Experimental)
  * in_forward: support `zstd` format.
* buffer: add feature to evacuate chunk files when retry limit
  https://github.com/fluent/fluentd/pull/4986
* out_http: TLS1.3 support
  https://github.com/fluent/fluentd/pull/4859
* out_stdout: support output to STDOUT independently of Fluentd logger by setting `use_logger` to `false`
  https://github.com/fluent/fluentd/pull/5036
* out_file: add symlink_path_use_relative option to use relative path instead of absolute path in symlink_path
  https://github.com/fluent/fluentd/pull/4904
* System configuration: Add forced_stacktrace_level to force the log level of stacktraces.
  https://github.com/fluent/fluentd/pull/5008
* System configuration: support built-in config files
  https://github.com/fluent/fluentd/pull/4893

Metrics:

* metrics: enable input metrics by default
  https://github.com/fluent/fluentd/pull/4966
* in_tail: add "tracked_file_count" metrics to see how many log files are being tracked
  https://github.com/fluent/fluentd/pull/4980
* output: add metrics for number of writing events in secondary
  https://github.com/fluent/fluentd/pull/4971
* output: add metrics for dropped oldest chunk count
  https://github.com/fluent/fluentd/pull/4981

Others:

* in_forward: enable skip_invalid_event by default not to process broken data
  https://github.com/fluent/fluentd/pull/5003
* buf_file: reinforce buffer file corruption check
  https://github.com/fluent/fluentd/pull/4998
* in_http: allow empty Origin header requests to pass CORS checks
  https://github.com/fluent/fluentd/pull/4866
* in_tail: add warning for directory permission
  https://github.com/fluent/fluentd/pull/4865
* Add logging for errors about loading dependencies on startup
  https://github.com/fluent/fluentd/pull/4858
* Performance improvements
  * https://github.com/fluent/fluentd/pull/4759
    https://github.com/fluent/fluentd/pull/4760
    https://github.com/fluent/fluentd/pull/4763
    https://github.com/fluent/fluentd/pull/4764
    https://github.com/fluent/fluentd/pull/4769
    https://github.com/fluent/fluentd/pull/4813
    https://github.com/fluent/fluentd/pull/4817
    https://github.com/fluent/fluentd/pull/4835
    https://github.com/fluent/fluentd/pull/4845
    https://github.com/fluent/fluentd/pull/4881
    https://github.com/fluent/fluentd/pull/4884
    https://github.com/fluent/fluentd/pull/4886
    https://github.com/fluent/fluentd/pull/4930
    https://github.com/fluent/fluentd/pull/4931
    https://github.com/fluent/fluentd/pull/4932
    https://github.com/fluent/fluentd/pull/4933
    https://github.com/fluent/fluentd/pull/4934
    https://github.com/fluent/fluentd/pull/4995

### Bug Fix

* in_tail: fixed where specifying only encoding parameter might cause data corruption (affects since v0.14.12).
  https://github.com/fluent/fluentd/pull/5010
* formatter_csv: fix memory leak
  https://github.com/fluent/fluentd/pull/4864
* server plugin helper: ensure to close all connections at shutdown
  https://github.com/fluent/fluentd/pull/5026
* Fixed a bug where the default `umask` was not set to `0` when using `--daemon` (td-agent, fluent-package) since v1.14.6.
  https://github.com/fluent/fluentd/pull/4836
* `--umask` command line option: Fixed so that it is applied when Fluentd runs with `--daemon` (fluent-package) as well as when Fluentd runs with `--no-supervisor`.
  https://github.com/fluent/fluentd/pull/4836
* Windows: Stop the service when the supervisor is dead
  https://github.com/fluent/fluentd/pull/4909
* Windows: Fixed an issue where stopping the service immediately after startup could leave the processes.
  https://github.com/fluent/fluentd/pull/4782
* Windows: Fixed an issue where stopping service sometimes can not be completed forever.
  https://github.com/fluent/fluentd/pull/4782

### Misc

* in_monitor_agent: stop using CGI.parse due to support Ruby 3.5
  https://github.com/fluent/fluentd/pull/4962
* HTTP server plugin helper: stop using CGI.parse due to support Ruby 3.5
  https://github.com/fluent/fluentd/pull/4962
* config: change inspect format
  https://github.com/fluent/fluentd/pull/4914
* console_adapter: support console gem v1.30
  https://github.com/fluent/fluentd/pull/4857
* gemspec: fix io-event and io-stream version to avoid unstable behavior on Windows
  https://github.com/fluent/fluentd/pull/5042
* in_http: replace WEBrick::HTTPUtils.parse_query with URI
  Note that at least, this makes it unable to use ; delimiter.
  https://github.com/fluent/fluentd/pull/4900
* http_server: stop fallback to WEBrick
  https://github.com/fluent/fluentd/pull/4899
* metrics: add getter method automatically
  https://github.com/fluent/fluentd/pull/4978
* http_server helper: add `header` method for `Request`
  https://github.com/fluent/fluentd/pull/4903
* multi_output: fix metrics name
  https://github.com/fluent/fluentd/pull/4979
* plugin_id: fix typo
  https://github.com/fluent/fluentd/pull/4964
* CI fixes
  * https://github.com/fluent/fluentd/pull/4728
    https://github.com/fluent/fluentd/pull/4730
    https://github.com/fluent/fluentd/pull/4746
    https://github.com/fluent/fluentd/pull/4747
    https://github.com/fluent/fluentd/pull/4748
    https://github.com/fluent/fluentd/pull/4750
    https://github.com/fluent/fluentd/pull/4755
    https://github.com/fluent/fluentd/pull/4820
    https://github.com/fluent/fluentd/pull/4874
    https://github.com/fluent/fluentd/pull/4877
* Fixes RuboCop's remarks
  https://github.com/fluent/fluentd/pull/4928
* CI: Add benchmark scripts
  https://github.com/fluent/fluentd/pull/4989

# v1.18

## Release v1.18.0 - 2024/11/29

### Enhancement

* Add zero-downtime-restart feature for non-Windows
  https://github.com/fluent/fluentd/pull/4624
* Add with-source-only feature
  https://github.com/fluent/fluentd/pull/4661
  * `fluentd` command: Add `--with-source-only` option
  * System configuration: Add `with_source_only` option
* Embedded plugin: Add `out_buffer` plugin, which can be used for buffering and relabeling events
  https://github.com/fluent/fluentd/pull/4661
* Config File Syntax: Extend Embedded Ruby Code support for Hashes and Arrays
  https://github.com/fluent/fluentd/pull/4580
  * Example: `key {"foo":"#{1 + 1}"} => key {"foo":"2"}`
  * Please note that this is not backward compatible, although we assume that this will never affect to actual existing configs.
  * In case the behavior changes unintentionally, you can disable this feature by surrounding the entire value with single quotes.
    * `key '{"foo":"#{1 + 1}"}' => key {"foo":"#{1 + 1}"}`
* transport tls: Use SSL_VERIFY_NONE by default
  https://github.com/fluent/fluentd/pull/4718
* transport tls: Add ensure_fips option to ensure FIPS compliant mode
  https://github.com/fluent/fluentd/pull/4720
* plugin_helper/server: Add receive_buffer_size parameter in transport section
  https://github.com/fluent/fluentd/pull/4649
* filter_parser: Now able to handle multiple parsed results
  https://github.com/fluent/fluentd/pull/4620
* in_http: add `add_tag_prefix` option
  https://github.com/fluent/fluentd/pull/4655
* System configuration: add `path` option in `log` section
  https://github.com/fluent/fluentd/pull/4604

### Bug Fix

* command: fix NoMethodError of --daemon under Windows
  https://github.com/fluent/fluentd/pull/4716
* `fluentd` command: fix `--plugin` (`-p`) option not to overwrite default value
  https://github.com/fluent/fluentd/pull/4605

### Misc

* http_server: Ready to support Async 2.0 gem
  https://github.com/fluent/fluentd/pull/4619
* Minor code refactoring
  * https://github.com/fluent/fluentd/pull/4641
* CI fixes
  * https://github.com/fluent/fluentd/pull/4638
  * https://github.com/fluent/fluentd/pull/4644
  * https://github.com/fluent/fluentd/pull/4675
  * https://github.com/fluent/fluentd/pull/4676
  * https://github.com/fluent/fluentd/pull/4677
  * https://github.com/fluent/fluentd/pull/4686

# v1.17

## Release v1.17.1 - 2024/08/19

### Enhancement

* out_http: Add `compress gzip` option
  https://github.com/fluent/fluentd/pull/4528
* in_exec: Add `encoding` option to handle non-ascii characters
  https://github.com/fluent/fluentd/pull/4533
* in_tail: Add throttling metrics
  https://github.com/fluent/fluentd/pull/4578
* compat: Improve method call performance
  https://github.com/fluent/fluentd/pull/4588
* in_sample: Add `reuse_record` parameter to reuse the sample data
  https://github.com/fluent/fluentd/pull/4586
  * `in_sample` has changed to copy sample data by default to avoid the impact of destructive changes by subsequent plugins.
  * This increases the load when generating large amounts of sample data.
  * You can use this new parameter to have the same performance as before.

### Bug Fix

* logger: Fix LoadError with console gem v1.25
  https://github.com/fluent/fluentd/pull/4492
* parser_json: Fix wrong LoadError warning
  https://github.com/fluent/fluentd/pull/4522
* in_tail: Fix an issue where a large single line could consume a large amount of memory even though `max_line_size` is set
  https://github.com/fluent/fluentd/pull/4530
* yaml_parser: Support $log_level element
  https://github.com/fluent/fluentd/pull/4482

### Misc

* Comment out inappropriate default configuration about out_forward
  https://github.com/fluent/fluentd/pull/4523
* gemspec: Remove unnecessary files from released gem
  https://github.com/fluent/fluentd/pull/4534
* plugin-generator: Update gemspec to remove unnecessary files
  https://github.com/fluent/fluentd/pull/4535
* Suppress non-parenthesis warnings
  https://github.com/fluent/fluentd/pull/4594
* Fix FrozenError in http_server plugin helper
  https://github.com/fluent/fluentd/pull/4598
* Add logger gem dependency for Ruby 3.5
  https://github.com/fluent/fluentd/pull/4589
* out_file: Add warn message for symlink_path setting
  https://github.com/fluent/fluentd/pull/4502

## Release v1.17.0 - 2024/04/30

### Enhancement

* in_http: Recognize CSP reports as JSON data
  https://github.com/fluent/fluentd/pull/4282
* out_http: Add option to reuse connections
  https://github.com/fluent/fluentd/pull/4330
* in_tail: Expand glob capability for square brackets and one character matcher
  https://github.com/fluent/fluentd/pull/4401
* out_http: Support AWS Signature Version 4 authentication
  https://github.com/fluent/fluentd/pull/4459

### Bug Fix

* Make sure `parser_json` and `parser_msgpack` return `Hash`.
  Make `parser_json` and `parser_msgpack` accept only `Hash` or `Array` of `Hash`.
  https://github.com/fluent/fluentd/pull/4474
* filter_parser: Add error event for multiple parsed results
  https://github.com/fluent/fluentd/pull/4478

### Misc

* Raise minimum required ruby version
  https://github.com/fluent/fluentd/pull/4288
* Require missing dependent gems as of Ruby 3.4-dev
  https://github.com/fluent/fluentd/pull/4411
* Minor code refactoring
  https://github.com/fluent/fluentd/pull/4294
  https://github.com/fluent/fluentd/pull/4299
  https://github.com/fluent/fluentd/pull/4302
  https://github.com/fluent/fluentd/pull/4320
* CI fixes
  https://github.com/fluent/fluentd/pull/4369
  https://github.com/fluent/fluentd/pull/4433
  https://github.com/fluent/fluentd/pull/4452
  https://github.com/fluent/fluentd/pull/4477
* github: unify YAML file extension to .yml
  https://github.com/fluent/fluentd/pull/4429

# v1.16

## Release v1.16.10 - 2025/09/12

### Bug Fix

* server plugin helper: ensure to close all connections at shutdown
  https://github.com/fluent/fluentd/pull/5088

### Misc

* CI improvemnts
  https://github.com/fluent/fluentd/pull/5083
  https://github.com/fluent/fluentd/pull/5085
  https://github.com/fluent/fluentd/pull/5086
  https://github.com/fluent/fluentd/pull/5091
  https://github.com/fluent/fluentd/pull/5092

## Release v1.16.9 - 2025/05/14

### Bug Fix

* winsvc: Fix bug where service accidentally stops after starting.
  The previous version (v1.16.8) should not be used for Windows Service.
  https://github.com/fluent/fluentd/pull/4955

### Misc

* CI improvements
  https://github.com/fluent/fluentd/pull/4956

## Release v1.16.8 - 2025/05/01

**This version has a critical bug about Windows Service. Do not use this version.**
(https://github.com/fluent/fluentd/pull/4955)

### Bug Fix

* winsvc: Stop the service when the supervisor is dead
  https://github.com/fluent/fluentd/pull/4942
* formatter_csv: Fix memory leak
  https://github.com/fluent/fluentd/pull/4920

### Misc

* Add fiddle as dependency gem for Ruby 3.5 on Windows
  https://github.com/fluent/fluentd/pull/4919
* Refactoring code
  https://github.com/fluent/fluentd/pull/4921
  https://github.com/fluent/fluentd/pull/4922
  https://github.com/fluent/fluentd/pull/4926
  https://github.com/fluent/fluentd/pull/4943
* CI improvements
  https://github.com/fluent/fluentd/pull/4821
  https://github.com/fluent/fluentd/pull/4850
  https://github.com/fluent/fluentd/pull/4851
  https://github.com/fluent/fluentd/pull/4862
  https://github.com/fluent/fluentd/pull/4915
  https://github.com/fluent/fluentd/pull/4923
  https://github.com/fluent/fluentd/pull/4925
  https://github.com/fluent/fluentd/pull/4927

## Release v1.16.7 - 2025/01/29

### Bug Fix

* Windows: Fix `NoMethodError` of `--daemon` option
  https://github.com/fluent/fluentd/pull/4796
* Windows: Fixed an issue where stopping the service immediately after startup could leave the processes
  https://github.com/fluent/fluentd/pull/4782
* Windows: Fixed an issue where stopping service sometimes can not be completed forever
  https://github.com/fluent/fluentd/pull/4782

### Misc

* Windows: Add workaround for unexpected exception
  https://github.com/fluent/fluentd/pull/4747
* README: remove deprecated google analytics beacon
  https://github.com/fluent/fluentd/pull/4797
* CI improvements
  https://github.com/fluent/fluentd/pull/4723
  https://github.com/fluent/fluentd/pull/4788
  https://github.com/fluent/fluentd/pull/4789
  https://github.com/fluent/fluentd/pull/4790
  https://github.com/fluent/fluentd/pull/4791
  https://github.com/fluent/fluentd/pull/4793
  https://github.com/fluent/fluentd/pull/4794
  https://github.com/fluent/fluentd/pull/4795
  https://github.com/fluent/fluentd/pull/4798
  https://github.com/fluent/fluentd/pull/4799
  https://github.com/fluent/fluentd/pull/4800
  https://github.com/fluent/fluentd/pull/4801
  https://github.com/fluent/fluentd/pull/4803

## Release v1.16.6 - 2024/08/16

### Bug Fix

* YAML config syntax: Fix issue where `$log_level` element was not supported correctly
  https://github.com/fluent/fluentd/pull/4486
* parser_json: Fix wrong LoadError warning
  https://github.com/fluent/fluentd/pull/4592
* `fluentd` command: Fix `--plugin` (`-p`) option not to overwrite default value
  https://github.com/fluent/fluentd/pull/4605

### Misc

* out_file: Add warn message for symlink_path setting
  https://github.com/fluent/fluentd/pull/4512
* Keep console gem v1.23 to avoid LoadError
  https://github.com/fluent/fluentd/pull/4510

## Release v1.16.5 - 2024/03/27

### Bug Fix

* Buffer: Fix emit error of v1.16.4 sometimes failing to process large data
  exceeding chunk size limit
  https://github.com/fluent/fluentd/pull/4447

## Release v1.16.4 - 2024/03/14

### Bug Fix

* Fix to avoid processing discarded chunks in write_step_by_step.
  It fixes not to raise pile of IOError when many `chunk
  bytes limit exceeds` errors are occurred.
  https://github.com/fluent/fluentd/pull/4342
* in_tail: Fix tail watchers in `rotate_wait` state not being managed.
  https://github.com/fluent/fluentd/pull/4334

### Misc

* buffer: Avoid unnecessary log processing. It will improve performance.
  https://github.com/fluent/fluentd/pull/4331

## Release v1.16.3 - 2023/11/14

### Bug Fix

* in_tail: Fix a stall bug on !follow_inode case
  https://github.com/fluent/fluentd/pull/4327
* in_tail: add warning for silent stop on !follow_inodes case
  https://github.com/fluent/fluentd/pull/4339
* Buffer: Fix NoMethodError with empty unstaged chunk arrays
  https://github.com/fluent/fluentd/pull/4303
* Fix for rotate_age where Fluentd passes as Symbol
  https://github.com/fluent/fluentd/pull/4311

## Release v1.16.2 - 2023/07/14

### Bug Fix

* in_tail: Fix new watcher is wrongly detached on rotation when `follow_inodes`,
  which causes stopping tailing the file
  https://github.com/fluent/fluentd/pull/4208
* in_tail: Prevent wrongly unwatching when `follow_inodes`, which causes log
  duplication
  https://github.com/fluent/fluentd/pull/4237
* in_tail: Fix warning log about overwriting entry when `follow_inodes`
  https://github.com/fluent/fluentd/pull/4214
* in_tail: Ensure to discard TailWatcher with missing target when `follow_inodes`
  https://github.com/fluent/fluentd/pull/4239
* MessagePackFactory: Make sure to reset local unpacker to prevent received
  broken data from affecting other receiving data
  https://github.com/fluent/fluentd/pull/4178
* Fix failure to launch Fluentd on Windows when the log path isn't specified in
  the command line
  https://github.com/fluent/fluentd/pull/4188
* logger: Prevent growing cache size of `ignore_same_log_interval` unlimitedly
  https://github.com/fluent/fluentd/pull/4229
* Update sigdump to 0.2.5 to fix wrong value of object counts
  https://github.com/fluent/fluentd/pull/4225

### Misc

* in_tail: Check detaching inode when `follow_inodes`
  https://github.com/fluent/fluentd/pull/4191
* in_tail: Add debug log for pos file compaction
  https://github.com/fluent/fluentd/pull/4228
* Code improvements detected by RuboCop Performance
  https://github.com/fluent/fluentd/pull/4201
  https://github.com/fluent/fluentd/pull/4210
* Add notice for unused argument `unpacker` of `ChunkMessagePackEventStreamer.each`
  https://github.com/fluent/fluentd/pull/4159

## Release v1.16.1 - 2023/04/17

### Enhancement

* in_tcp: Add `message_length_limit` to drop large incoming data
  https://github.com/fluent/fluentd/pull/4137

### Bug Fix

* Fix NameError of `SecondaryFileOutput` when setting secondary other than
  `out_secondary_file`
  https://github.com/fluent/fluentd/pull/4124
* Server helper: Suppress error of `UDPServer` over `max_bytes` on Windows
  https://github.com/fluent/fluentd/pull/4131
* Buffer: Fix that `compress` setting causes unexpected error when receiving
  already compressed MessagePack
  https://github.com/fluent/fluentd/pull/4147

### Misc

* Update MAINTAINERS.md
  https://github.com/fluent/fluentd/pull/4119
* Update security policy
  https://github.com/fluent/fluentd/pull/4123
* Plugin template: Remove unnecessary code
  https://github.com/fluent/fluentd/pull/4128
* Revive issue auto closer
  https://github.com/fluent/fluentd/pull/4116
* Fix a link for the repository of td-agent
  https://github.com/fluent/fluentd/pull/4145
* in_udp: add test of message_length_limit
  https://github.com/fluent/fluentd/pull/4117
* Fix a typo of an argument of `Fluent::EventStream#each`
  https://github.com/fluent/fluentd/pull/4148
* Test in_tcp: Fix undesirable way to assert logs
  https://github.com/fluent/fluentd/pull/4138

## Release v1.16.0 - 2023/03/29

### Enhancement

* in_tcp: Add `send_keepalive_packet` option
  https://github.com/fluent/fluentd/pull/3961
* buffer: backup broken file chunk
  https://github.com/fluent/fluentd/pull/4025
* Add warning messages for restoring buffer with `flush_at_shutdown true`
  https://github.com/fluent/fluentd/pull/4027
* Add logs for time period of restored buffer possibly broken
  https://github.com/fluent/fluentd/pull/4028

### Bug Fix

* http_server_helper: Fix format of log messages originating from Async gem
  https://github.com/fluent/fluentd/pull/3987
* Change to not generate a sigdump file after receiving a `SIGTERM` signal on
  non-Windows
  https://github.com/fluent/fluentd/pull/4034
  https://github.com/fluent/fluentd/pull/4043
* out_forward: fix error of ack handling conflict on stopping with
  `require_ack_response` enabled
  https://github.com/fluent/fluentd/pull/4030
* Fix problem that some `system` configs are not reflected
  https://github.com/fluent/fluentd/pull/4064
  https://github.com/fluent/fluentd/pull/4065
  https://github.com/fluent/fluentd/pull/4086
  https://github.com/fluent/fluentd/pull/4090
  https://github.com/fluent/fluentd/pull/4096
* Fix bug that the logger outputs some initial log messages without applying
  some settings such as `format`
  https://github.com/fluent/fluentd/pull/4091
* Windows: Fix a bug that the wrong log file is reopened with log rotate setting
  when flushing or graceful reloading
  https://github.com/fluent/fluentd/pull/4054
* Fix race condition of out_secondary_file
  https://github.com/fluent/fluentd/pull/4081
* Suppress warning using different secondary for out_secondary_file
  https://github.com/fluent/fluentd/pull/4087
* Fix value of `system_config.workers` at `run_configure`.
  Change argument type of `Fluent::Plugin::Base::configure()` to
  `Fluent::Config::Element` only.
  https://github.com/fluent/fluentd/pull/4066
* Fix bug that Fluentd sometimes tries to use an unavailable port and fails to
  start on Windows
  https://github.com/fluent/fluentd/pull/4092

### Misc

* Add method for testing `filtered_with_time`
  https://github.com/fluent/fluentd/pull/3899
* Replace `$$` with `Process.pid`
  https://github.com/fluent/fluentd/pull/4040
* Relax required webric gem version
  https://github.com/fluent/fluentd/pull/4061
* CI fixes to support Ruby 3.2
  https://github.com/fluent/fluentd/pull/3968
  https://github.com/fluent/fluentd/pull/3996
  https://github.com/fluent/fluentd/pull/3997
* Other CI fixes
  https://github.com/fluent/fluentd/pull/3969
  https://github.com/fluent/fluentd/pull/3990
  https://github.com/fluent/fluentd/pull/4013
  https://github.com/fluent/fluentd/pull/4033
  https://github.com/fluent/fluentd/pull/4044
  https://github.com/fluent/fluentd/pull/4050
  https://github.com/fluent/fluentd/pull/4062
  https://github.com/fluent/fluentd/pull/4074
  https://github.com/fluent/fluentd/pull/4082
  https://github.com/fluent/fluentd/pull/4085
* Update MAINTAINERS.md
  https://github.com/fluent/fluentd/pull/4026
  https://github.com/fluent/fluentd/pull/4069

# v1.15

## Release v1.15.3 - 2022/11/02

### Bug Fix

* Support glob for `!include` directive in YAML config format
  https://github.com/fluent/fluentd/pull/3917
* Remove meaningless oj options
  https://github.com/fluent/fluentd/pull/3929
* Fix log initializer to correctly create per-process files on Windows
  https://github.com/fluent/fluentd/pull/3939
* out_file: Fix the multi-worker check with `<worker 0-N>` directive
  https://github.com/fluent/fluentd/pull/3942

### Misc

* Fix broken tests on Ruby 3.2
  https://github.com/fluent/fluentd/pull/3883
  https://github.com/fluent/fluentd/pull/3922

## Release v1.15.2 - 2022/08/22

### Enhancement

* Add a new system configuration `enable_jit`
  https://github.com/fluent/fluentd/pull/3857

### Bug Fix

* out_file: Fix append mode with `--daemon` flag
  https://github.com/fluent/fluentd/pull/3864
* child_process: Plug file descriptor leak
  https://github.com/fluent/fluentd/pull/3844

### Misc

* Drop win32-api gem to support Ruby 3.2
  https://github.com/fluent/fluentd/pull/3849
  https://github.com/fluent/fluentd/pull/3866

## Release v1.15.1 - 2022/07/27

### Bug Fix

* Add support for concurrent append in out_file
  https://github.com/fluent/fluentd/pull/3808

### Misc

* in_tail: Show more information on skipping update_watcher
  https://github.com/fluent/fluentd/pull/3829

## Release v1.15.0 - 2022/06/29

### Enhancement

* in_tail: Add log throttling in files based on group rules
  https://github.com/fluent/fluentd/pull/3535
  https://github.com/fluent/fluentd/pull/3771
* Add `dump` command to fluent-ctl
  https://github.com/fluent/fluentd/pull/3680
* Handle YAML configuration format on configuration file
  https://github.com/fluent/fluentd/pull/3712
* Add `restart_worker_interval` parameter in `<system>` directive to set
  interval to restart workers that has stopped for some reason.
  https://github.com/fluent/fluentd/pull/3768

### Bug fixes

* out_forward: Fix to update timeout of cached sockets
  https://github.com/fluent/fluentd/pull/3711
* in_tail: Fix a possible crash on file rotation when `follow_inodes true`
  https://github.com/fluent/fluentd/pull/3754
* output: Fix a possible crash of flush thread
  https://github.com/fluent/fluentd/pull/3755
* in_tail: Fix crash bugs on Ruby 3.1 on Windows
  https://github.com/fluent/fluentd/pull/3766
* in_tail: Fix a bug that in_tail cannot open non-ascii path on Windows
  https://github.com/fluent/fluentd/pull/3774
* Fix a bug that fluentd doesn't release its own log file even after rotated by
  external tools
  https://github.com/fluent/fluentd/pull/3782

### Misc

* in_tail: Simplify TargetInfo related code
  https://github.com/fluent/fluentd/pull/3489
* Fix a wrong issue number in CHANGELOG
  https://github.com/fluent/fluentd/pull/3700
* server helper: Add comments to linger_timeout behavior about Windows
  https://github.com/fluent/fluentd/pull/3701
* service_discovery: Fix typo
  https://github.com/fluent/fluentd/pull/3724
* test: Fix unstable tests and warnings
  https://github.com/fluent/fluentd/pull/3745
  https://github.com/fluent/fluentd/pull/3753
  https://github.com/fluent/fluentd/pull/3767
  https://github.com/fluent/fluentd/pull/3783
  https://github.com/fluent/fluentd/pull/3784
  https://github.com/fluent/fluentd/pull/3785
  https://github.com/fluent/fluentd/pull/3787

# v1.14

## Release v1.14.6 - 2022/03/31

### Enhancement

* Enable server plugins to specify socket-option `SO_LINGER`
  https://github.com/fluent/fluentd/pull/3644
* Add `--umask` command line parameter
  https://github.com/fluent/fluentd/pull/3671
  https://github.com/fluent/fluentd/pull/3679

### Bug fixes

* Fix metric name typo
  https://github.com/fluent/fluentd/pull/3630
  https://github.com/fluent/fluentd/pull/3673
* Apply modifications in pipeline to the records being passed to `@ERROR` label
  https://github.com/fluent/fluentd/pull/3631
* Fix wrong calculation of retry interval
  https://github.com/fluent/fluentd/pull/3640
  https://github.com/fluent/fluentd/pull/3649
  https://github.com/fluent/fluentd/pull/3685
  https://github.com/fluent/fluentd/pull/3686
* Support IPv6 address for `rpc_endpoint` in `system` config
  https://github.com/fluent/fluentd/pull/3641

### Misc

* CI: Support Ruby 3.1 except Windows
  https://github.com/fluent/fluentd/pull/3619
* Switch to GitHub Discussions
  https://github.com/fluent/fluentd/pull/3654
* Fix CHANGELOG.md heading styles
  https://github.com/fluent/fluentd/pull/3648
* Declare `null_value_pattern` as `regexp`
  https://github.com/fluent/fluentd/pull/3650

## Release v1.14.5 - 2022/02/09

### Enhancement

* Add support for "application/x-ndjson" to `in_http`
  https://github.com/fluent/fluentd/pull/3616
* Add support for ucrt binary for Windows
  https://github.com/fluent/fluentd/pull/3613

### Bug fixes

* Don't retry when `retry_max_times == 0`
  https://github.com/fluent/fluentd/pull/3608
* Fix hang-up issue during TLS handshake in `out_forward`
  https://github.com/fluent/fluentd/pull/3601
* Bump up required ServerEngine to v2.2.5
  https://github.com/fluent/fluentd/pull/3599
* Fix "invalid byte sequence is replaced" warning on Kubernetes
  https://github.com/fluent/fluentd/pull/3596
* Fix "ArgumentError: unknown keyword: :logger" on Windows with Ruby 3.1
  https://github.com/fluent/fluentd/pull/3592

## Release v1.14.4 - 2022/01/06

### Enhancement

* `in_tail`: Add option to skip long lines (`max_line_size`)
  https://github.com/fluent/fluentd/pull/3565

### Bug fix

* Incorrect BufferChunkOverflowError when each event size is < `chunk_limit_size`
  https://github.com/fluent/fluentd/pull/3560
* On macOS with Ruby 2.7/3.0, `out_file` fails to write events if `append` is true.
  https://github.com/fluent/fluentd/pull/3579
* test: Fix unstable test cases
  https://github.com/fluent/fluentd/pull/3574
  https://github.com/fluent/fluentd/pull/3577

## Release v1.14.3 - 2021/11/26

### Enhancement

* Changed to accept `http_parser.rb` 0.8.0.
  `http_parser.rb` 0.8.0 is ready for Ractor.
  https://github.com/fluent/fluentd/pull/3544

### Bug fix

* in_tail: Fixed a bug that no new logs are read when
  `enable_stat_watcher true` and `enable_watch_timer false` is set.
  https://github.com/fluent/fluentd/pull/3541
* in_tail: Fixed a bug that the beginning and initial lines are lost
  after startup when `read_from_head false` and path includes wildcard '*'.
  https://github.com/fluent/fluentd/pull/3542
* Fixed a bug that processing messages were lost when
  BufferChunkOverflowError was thrown even though only a specific
  message size exceeds chunk_limit_size.
  https://github.com/fluent/fluentd/pull/3553
  https://github.com/fluent/fluentd/pull/3562

### Misc

* Bump up required version of `win32-service` gem.
  newer version is required to implement additional `fluent-ctl` commands.
  https://github.com/fluent/fluentd/pull/3556

## Release v1.14.2 - 2021/10/29

IMPORTANT: This release contain the fix for CVE-2021-41186 -
ReDoS vulnerability in `parser_apache2`.
This vulnerability is affected from Fluentd v0.14.14 to v1.14.1.
We recommend to upgrade Fluentd to v1.14.2 or use patched version of
`parser_apache2` plugin.

### Enhancement

* fluent-cat: Add `--event-time` option to send specified event time for testing.
  https://github.com/fluent/fluentd/pull/3528

### Bug fix

* Fixed to generate correct epoch timestamp even after switching Daylight Saving Time
  https://github.com/fluent/fluentd/pull/3524
* Fixed ReDoS vulnerability in parser_apache2.
  This vulnerability is caused by a certain pattern of a broken apache log.

## Release v1.14.1 - 2021/09/29

### Enhancement

* in_tail: Added file related metrics.
  These metrics should be collected same as fluent-bit's in_tail.
  https://github.com/fluent/fluentd/pull/3504
* out_forward: Changed to use metrics mechanism for node statistics
  https://github.com/fluent/fluentd/pull/3506

### Bug fix

* in_tail: Fixed a crash bug that it raise undefined method of eof? error.
  This error may happen only when `read_bytes_limit_per_second` was specified.
  https://github.com/fluent/fluentd/pull/3500
* out_forward: Fixed a bug that node statistics information is not included correctly.
  https://github.com/fluent/fluentd/pull/3503
  https://github.com/fluent/fluentd/pull/3507
* Fixed a error when using `@include` directive
  It was occurred when http/https scheme URI is used in `@include` directive with Ruby 3.
  https://github.com/fluent/fluentd/pull/3517
* out_copy: Fixed to suppress a wrong warning for `ignore_if_prev_success`
  It didn't work even if a user set it.
  https://github.com/fluent/fluentd/pull/3515
* Fixed not to output nanoseconds field of next retry time in warning log
  Then, inappropriate labels in log are also fixed. (retry_time -> retry_times,
  next_retry_seconds -> next_retry_time)
  https://github.com/fluent/fluentd/pull/3518

## Release v1.14.0 - 2021/08/30

### Enhancement

* Added `enable_input_metrics`, `enable_size_metrics` system
  configuration parameter
  This feature might need to pay higher CPU cost, so input event metrics
  features are disabled by default. These features are also enabled by
  `--enable-input-metrics`,`--enable-size-metrics` command line
  option.
  https://github.com/fluent/fluentd/pull/3440
* Added reserved word `@ROOT` for getting root router.
  This is incompatible change. Do not use `@ROOT` for label name.
  https://github.com/fluent/fluentd/pull/3358
* in_syslog: Added `send_keepalive_packet` option
  https://github.com/fluent/fluentd/pull/3474
* in_http: Added `cors_allow_credentials` option.
  This option tells browsers whether to expose the response to
  frontend when the credentials mode is "include".
  https://github.com/fluent/fluentd/pull/3481
  https://github.com/fluent/fluentd/pull/3491

### Bug fix

* in_tail: Fixed a bug that deleted paths are not removed
  from pos file by file compaction at start up
  https://github.com/fluent/fluentd/pull/3467
* in_tail: Revived a warning message of retrying unaccessible file
  https://github.com/fluent/fluentd/pull/3478
* TLSServer: Fixed a crash bug on logging peer host name errors
  https://github.com/fluent/fluentd/pull/3483

### Misc

* Added metrics plugin mechanism
  The implementations is changed to use metrics plugin.
  In the future, 3rd party plugin will be able to handle these metrics.
  https://github.com/fluent/fluentd/pull/3471
  https://github.com/fluent/fluentd/pull/3473
  https://github.com/fluent/fluentd/pull/3479
  https://github.com/fluent/fluentd/pull/3484

# v1.13

## Release v1.13.3 - 2021/07/27

### Bug fix

* in_tail: Care DeletePending state on Windows
  https://github.com/fluent/fluentd/pull/3457
  https://github.com/fluent/fluentd/pull/3460
* in_tail: Fix some pos_file bugs.
  Avoid deleting pos_file entries unexpectedly when both
  `pos_file_compaction_interval` and `follow_inode` are enabled.
  Use `bytesize` instead of `size` for path length.
  https://github.com/fluent/fluentd/pull/3459
* in_tail: Fix detecting rotation twice on `follow_inode`.
  https://github.com/fluent/fluentd/pull/3466

### Misc

* Remove needless spaces in a sample config file
  https://github.com/fluent/fluentd/pull/3456

## Release v1.13.2 - 2021/07/12

### Enhancement

* fluent-plugin-generate: Storage plugin was supported.
  https://github.com/fluent/fluentd/pull/3426
* parser_json: Added support to customize configuration of oj options.
  Use `FLUENT_OJ_OPTION_BIGDECIMAL_LOAD`, `FLUENT_OJ_OPTION_MAX_NESTING`,
  `FLUENT_OJ_OPTION_MODE`, and `FLUENT_OJ_OPTION_USE_TO_JSON` environment
  variable to configure it.
  https://github.com/fluent/fluentd/pull/3315

### Bug fix

* binlog_reader: Fixed a crash bug by missing "fluent/env" dependency.
  https://github.com/fluent/fluentd/pull/3443
* Fixed a crash bug on outputting log at the early stage when parsing
  config file.  This is a regression since v1.13.0. If you use invalid
  '@' prefix parameter, remove it as a workaround.
  https://github.com/fluent/fluentd/pull/3451
* in_tail: Fixed a bug that when rotation is occurred, remaining lines
  will be discarded if the throttling feature is enabled.
  https://github.com/fluent/fluentd/pull/3390
* fluent-plugin-generate: Fixed a crash bug during gemspec generation.
  It was unexpectedly introduced by #3305, thus this bug was a
  regression since 1.12.3.
  https://github.com/fluent/fluentd/pull/3444

### Misc

* Fixed the runtime dependency version of http_parse.rb to 0.7.0.
  It was fixed because false positive detection is occurred frequently
  by security scanning tools.
  https://github.com/fluent/fluentd/pull/3450

## Release v1.13.1 - 2021/06/25

### Bug fix

* out_forward: Fixed a race condition on handshake
  It's caused by using a same unpacker from multiple threads.
  https://github.com/fluent/fluentd/pull/3405
  https://github.com/fluent/fluentd/pull/3406
* in_tail: Fixed to remove too much verbose debugging logs
  It was unexpectedly introduced by #3185 log throttling feature.
  https://github.com/fluent/fluentd/pull/3418
* Fixed not to echo back the provides path as is on a 404 error
  There was a potential cross-site scripting vector even though
  it is quite difficult to exploit.
  https://github.com/fluent/fluentd/pull/3427

### Misc

* Pretty print for Fluent::Config::Section has been supported
  for debugging
  https://github.com/fluent/fluentd/pull/3398
* CI: Dropped to run CI for Ruby 2.5
  https://github.com/fluent/fluentd/pull/3412

## Release v1.13.0 - 2021/05/29

### Enhancement

* in_tail: Handle log throttling per file feature
  https://github.com/fluent/fluentd/pull/3185
  https://github.com/fluent/fluentd/pull/3364
  https://github.com/fluent/fluentd/pull/3379
* Extend to support service discovery manager in simpler way
  https://github.com/fluent/fluentd/pull/3299
  https://github.com/fluent/fluentd/pull/3362
* in_http: HTTP GET requests has been supported
  https://github.com/fluent/fluentd/pull/3373
* The log rotate settings in system configuration has been supported
  https://github.com/fluent/fluentd/pull/3352

### Bug fix

* Fix to disable `trace_instruction` when
  `RubyVM::InstructionSequence` is available. It improves
  compatibility with `truffleruby` some extent.
  https://github.com/fluent/fluentd/pull/3376
* in_tail: Safely skip files which are used by another process on
  Windows. It improves exception handling about
  `ERROR_SHARING_VIOLATION` on Windows.
  https://github.com/fluent/fluentd/pull/3378
* fluent-cat: the issue resending secondary file in specific format
  has been fixed
  https://github.com/fluent/fluentd/pull/3368
* in_tail: Shutdown immediately & safely even if reading huge files
  Note that `skip_refresh_on_startup` must be enabled.
  https://github.com/fluent/fluentd/pull/3380

### Misc

* example: Change a path to backup_path in counter_server correctly
  https://github.com/fluent/fluentd/pull/3359
* README: Update link to community forum to discuss.fluentd.org
  https://github.com/fluent/fluentd/pull/3360

# v1.12

## Release v1.12.4 - 2021/05/26

### Bug fix

* in_tail: Fix a bug that refresh_watcher fails to handle file rotations
  https://github.com/fluent/fluentd/pull/3393

## Release v1.12.3 - 2021/04/23

### Enhancement

* plugin_helper: Allow TLS to use keep-alive socket option
  https://github.com/fluent/fluentd/pull/3308

### Bug fix

* parser_csv, parser_syslog: Fix a naming conflict on parser_type
  https://github.com/fluent/fluentd/pull/3302
* in_tail: Fix incorrect error code & message on Windows
  https://github.com/fluent/fluentd/pull/3325
  https://github.com/fluent/fluentd/pull/3329
  https://github.com/fluent/fluentd/pull/3331
  https://github.com/fluent/fluentd/pull/3337
* in_tail: Fix a crash bug on catching a short-lived log
  https://github.com/fluent/fluentd/pull/3328
* storage_local: Fix position file corruption issue on concurrent gracefulReloads
  https://github.com/fluent/fluentd/pull/3335
* Fix incorrect warnings about ${chunk_id} with out_s3
  https://github.com/fluent/fluentd/pull/3339
* TLS Server: Add peer information to error log message
  https://github.com/fluent/fluentd/pull/3330

### Misc

* fluent-plugin-generate: add note about plugin name
  https://github.com/fluent/fluentd/pull/3303
* fluent-plugin-generate: Use same depended gem version with fluentd
  https://github.com/fluent/fluentd/pull/3305
* Fix some broken unit tests and improve CI's stability
  https://github.com/fluent/fluentd/pull/3304
  https://github.com/fluent/fluentd/pull/3307
  https://github.com/fluent/fluentd/pull/3312
  https://github.com/fluent/fluentd/pull/3313
  https://github.com/fluent/fluentd/pull/3314
  https://github.com/fluent/fluentd/pull/3316
  https://github.com/fluent/fluentd/pull/3336
* Permit to install with win32-service 2.2.0 on Windows
  https://github.com/fluent/fluentd/pull/3343

## Release v1.12.2 - 2021/03/29

### Enhancement

* out_copy: Add ignore_if_prev_successes
  https://github.com/fluent/fluentd/pull/3190
  https://github.com/fluent/fluentd/pull/3287
* Support multiple kind of timestamp format
  https://github.com/fluent/fluentd/pull/3252
* formatter_ltsv: suppress delimiters in output
  https://github.com/fluent/fluentd/pull/1666
  https://github.com/fluent/fluentd/pull/3288
  https://github.com/fluent/fluentd/pull/3289

### Bug fix

* in_tail: Expect ENOENT during stat
  https://github.com/fluent/fluentd/pull/3275
* out_forward: Prevent transferring duplicate logs on restart
  https://github.com/fluent/fluentd/pull/3267
  https://github.com/fluent/fluentd/pull/3285
* in_tail: Handle to send rotated logs when mv is used for rotating
  https://github.com/fluent/fluentd/pull/3294
* fluent-plugin-config-format: Fill an uninitialized instance variable
  https://github.com/fluent/fluentd/pull/3297
* Fix MessagePackEventStream issue with Enumerable methods
  https://github.com/fluent/fluentd/pull/2116

### Misc

* Add webrick to support Ruby 3.0
  https://github.com/fluent/fluentd/pull/3257
* Suggest Discourse instead of Google Groups
  https://github.com/fluent/fluentd/pull/3261
* Update MAINTAINERS.md
  https://github.com/fluent/fluentd/pull/3282
* Introduce DeepSource to check code quality
  https://github.com/fluent/fluentd/pull/3286
  https://github.com/fluent/fluentd/pull/3259
  https://github.com/fluent/fluentd/pull/3291
* Migrate to GitHub Actions and stabilize tests
  https://github.com/fluent/fluentd/pull/3266
  https://github.com/fluent/fluentd/pull/3268
  https://github.com/fluent/fluentd/pull/3281
  https://github.com/fluent/fluentd/pull/3283
  https://github.com/fluent/fluentd/pull/3290

## Release v1.12.1 - 2021/02/18

### Enhancement

* out_http: Add `headers_from_placeholders` parameter
  https://github.com/fluent/fluentd/pull/3241
* fluent-plugin-config-format: Add `--table` option to use markdown table
  https://github.com/fluent/fluentd/pull/3240
* Add `--disable-shared-socket`/`disable_shared_socket` to disable ServerEngine's shared socket setup
  https://github.com/fluent/fluentd/pull/3250

### Bug fix

* ca_generate: Fix creating TLS certification files which include broken extensions
  https://github.com/fluent/fluentd/pull/3246
* test: Drop TLS 1.1 tests
  https://github.com/fluent/fluentd/pull/3256
* Remove old gem constraints to support Ruby 3

### Misc

* Use GitHub Actions
  https://github.com/fluent/fluentd/pull/3233
  https://github.com/fluent/fluentd/pull/3255

## Release v1.12.0 - 2021/01/05

### New feature

* in_tail: Add `follow_inode` to support log rotation with wild card
  https://github.com/fluent/fluentd/pull/3182
* in_tail: Handle linux capability
  https://github.com/fluent/fluentd/pull/3155
  https://github.com/fluent/fluentd/pull/3162
* windows: Add win32 events alternative to unix signals
  https://github.com/fluent/fluentd/pull/3131

### Enhancement

* buffer: Enable metadata comparison optimization on all platforms
  https://github.com/fluent/fluentd/pull/3095
* fluent-plugin-config-formatter: Handle `service_discovery` type
  https://github.com/fluent/fluentd/pull/3178
* in_http: Add `add_query_params` parameter to add query params to event record
  https://github.com/fluent/fluentd/pull/3197
* inject: Support `unixtime_micros` and `unixtime_nanos` in `time_type`
  https://github.com/fluent/fluentd/pull/3220
* Refactoring code
  https://github.com/fluent/fluentd/pull/3167
  https://github.com/fluent/fluentd/pull/3170
  https://github.com/fluent/fluentd/pull/3180
  https://github.com/fluent/fluentd/pull/3196
  https://github.com/fluent/fluentd/pull/3213
  https://github.com/fluent/fluentd/pull/3222

### Bug fix

* output: Prevent retry.step from being called too many times in a short time
  https://github.com/fluent/fluentd/pull/3203

# v1.11

## Release v1.11.5 - 2020/11/06

### Enhancement

* formatter: Provide `newline` parameter to support `CRLF`
  https://github.com/fluent/fluentd/pull/3152
* out_http: adding support for intermediate certificates
  https://github.com/fluent/fluentd/pull/3146
* Update serverengine dependency to 2.2.2 or later

### Bug fix

* Fix a bug that windows service isn't stopped gracefully
  https://github.com/fluent/fluentd/pull/3156

## Release v1.11.4 - 2020/10/13

### Enhancement

* inject: Support `unixtime_millis` in `time_type` parameter
  https://github.com/fluent/fluentd/pull/3145

### Bug fix

* out_http: Fix broken data with `json_array true`
  https://github.com/fluent/fluentd/pull/3144
* output: Fix wrong logging issue for `${chunk_id}`
  https://github.com/fluent/fluentd/pull/3134

## Release v1.11.3 - 2020/09/30

### Enhancement

* in_exec: Add `connect_mode` parameter to read stderr
  https://github.com/fluent/fluentd/pull/3108
* parser_json: Improve the performance
  https://github.com/fluent/fluentd/pull/3109
* log: Add `ignore_same_log_interval` parameter
  https://github.com/fluent/fluentd/pull/3119
* Upgrade win32 gems
  https://github.com/fluent/fluentd/pull/3100
* Refactoring code
  https://github.com/fluent/fluentd/pull/3094
  https://github.com/fluent/fluentd/pull/3118

### Bug fix

* buffer: Fix calculation of timekey stats
  https://github.com/fluent/fluentd/pull/3018
* buffer: fix binmode usage for prevent gc
  https://github.com/fluent/fluentd/pull/3138

## Release v1.11.2 - 2020/08/04

### Enhancement

* `in_dummy` renamed to `in_sample`
  https://github.com/fluent/fluentd/pull/3065
* Allow regular expression in filter/match directive
  https://github.com/fluent/fluentd/pull/3071
* Refactoring code
  https://github.com/fluent/fluentd/pull/3051

### Bug fix

* buffer: Fix log message for `chunk_limit_records` case
  https://github.com/fluent/fluentd/pull/3079
* buffer: Fix timekey optimization for non-windows platform
  https://github.com/fluent/fluentd/pull/3092
* cert: Raise an error for broken certificate file
  https://github.com/fluent/fluentd/pull/3086
* cert: Set TLS ciphers list correctly on older OpenSSL
  https://github.com/fluent/fluentd/pull/3093

## Release v1.11.1 - 2020/06/22

### Enhancement

* in_http: Add `dump_error_log` parameter
  https://github.com/fluent/fluentd/pull/3035
* in_http: Improve time field handling
  https://github.com/fluent/fluentd/pull/3046
* Refactoring code
  https://github.com/fluent/fluentd/pull/3047

### Bug fix

* in_tail: Use actual path instead of based pattern for ignore list
  https://github.com/fluent/fluentd/pull/3042
* child_process helper: Fix child process failure due to SIGPIPE if the command uses stdout
  https://github.com/fluent/fluentd/pull/3044

## Release v1.11.0 - 2020/06/04

### New feature

* in_unix: Use v1 API
  https://github.com/fluent/fluentd/pull/2992

### Enhancement

* parser_syslog: Support any `time_format` for RFC3164 string parser
  https://github.com/fluent/fluentd/pull/3014
* parser_syslog: Add new parser for RFC5424
  https://github.com/fluent/fluentd/pull/3015
* Refactoring code
  https://github.com/fluent/fluentd/pull/3019

### Bug fix

* in_gc_stat: Add `use_symbol_keys` parameter to emit string key record
  https://github.com/fluent/fluentd/pull/3008

# v1.10

## Release v1.10.4 - 2020/05/12

### Enhancement

* out_http: Support single json array payload
  https://github.com/fluent/fluentd/pull/2973
* Refactoring
  https://github.com/fluent/fluentd/pull/2988

### Bug fix

* supervisor: Call `File.umask(0)` for standalone worker
  https://github.com/fluent/fluentd/pull/2987
* out_forward: Fix ZeroDivisionError issue with `weight 0`
  https://github.com/fluent/fluentd/pull/2989

## Release v1.10.3 - 2020/05/01

### Enhancement

* record_accessor: Add `set` method
  https://github.com/fluent/fluentd/pull/2977
* config: Ruby DSL format is deprecated
  https://github.com/fluent/fluentd/pull/2958
* Refactor code
  https://github.com/fluent/fluentd/pull/2961
  https://github.com/fluent/fluentd/pull/2962
  https://github.com/fluent/fluentd/pull/2965
  https://github.com/fluent/fluentd/pull/2966
  https://github.com/fluent/fluentd/pull/2978

### Bug fix

* out_forward: Disable `linger_timeout` setting on Windows
  https://github.com/fluent/fluentd/pull/2959
* out_forward: Fix warning of service discovery manager when fluentd stops
  https://github.com/fluent/fluentd/pull/2974

## Release v1.10.2 - 2020/04/15

### Enhancement

* out_copy: Add plugin_id to log message
  https://github.com/fluent/fluentd/pull/2934
* socket: Allow cert chains in mutual auth
  https://github.com/fluent/fluentd/pull/2930
* system: Add ignore_repeated_log_interval parameter
  https://github.com/fluent/fluentd/pull/2937
* windows: Allow to launch fluentd from whitespace included path
  https://github.com/fluent/fluentd/pull/2920
* Refactor code
  https://github.com/fluent/fluentd/pull/2935
  https://github.com/fluent/fluentd/pull/2936
  https://github.com/fluent/fluentd/pull/2938
  https://github.com/fluent/fluentd/pull/2939
  https://github.com/fluent/fluentd/pull/2946

### Bug fix

* in_syslog: Fix octet-counting mode bug
  https://github.com/fluent/fluentd/pull/2942
* out_forward: Create timer for purging obsolete sockets when keepalive_timeout is not set
  https://github.com/fluent/fluentd/pull/2943
* out_forward: Need authentication when sending tcp heartbeat with keepalive
  https://github.com/fluent/fluentd/pull/2945
* command: Fix fluent-debug start failure
  https://github.com/fluent/fluentd/pull/2948
* command: Fix regression of supervisor's worker and `--daemon` combo
  https://github.com/fluent/fluentd/pull/2950

## Release v1.10.1 - 2020/04/02

### Enhancement

* command: `--daemon` and `--no-supervisor` now work together
  https://github.com/fluent/fluentd/pull/2912
* Refactor code
  https://github.com/fluent/fluentd/pull/2913

### Bug fix

* in_tail: `Fix pos_file_compaction_interval` parameter type
  https://github.com/fluent/fluentd/pull/2921
* in_tail: Fix seek position update after compaction
  https://github.com/fluent/fluentd/pull/2922
* parser_syslog: Fix regression in the `with_priority` and RFC5424 case
  https://github.com/fluent/fluentd/pull/2923

### Misc

* Add document for security audit
  https://github.com/fluent/fluentd/pull/2911

## Release v1.10.0 - 2020/03/24

### New feature

* sd plugin: Add SRV record plugin
  https://github.com/fluent/fluentd/pull/2876

### Enhancement

* server: Add `cert_verifier` parameter for TLS transport
  https://github.com/fluent/fluentd/pull/2888
* parser_syslog: Support customized time format
  https://github.com/fluent/fluentd/pull/2886
* in_dummy: Delete `suspend` parameter
  https://github.com/fluent/fluentd/pull/2897
* Refactor code
  https://github.com/fluent/fluentd/pull/2858
  https://github.com/fluent/fluentd/pull/2862
  https://github.com/fluent/fluentd/pull/2864
  https://github.com/fluent/fluentd/pull/2869
  https://github.com/fluent/fluentd/pull/2870
  https://github.com/fluent/fluentd/pull/2874
  https://github.com/fluent/fluentd/pull/2881
  https://github.com/fluent/fluentd/pull/2885
  https://github.com/fluent/fluentd/pull/2894
  https://github.com/fluent/fluentd/pull/2896
  https://github.com/fluent/fluentd/pull/2898
  https://github.com/fluent/fluentd/pull/2899
  https://github.com/fluent/fluentd/pull/2900
  https://github.com/fluent/fluentd/pull/2901
  https://github.com/fluent/fluentd/pull/2906

### Bug fix

* out_forward: windows: Permit to specify `linger_timeout`
  https://github.com/fluent/fluentd/pull/2868
* parser_syslog: Fix syslog format detection
  https://github.com/fluent/fluentd/pull/2879
* buffer: Fix `available_buffer_space_ratio` calculation
  https://github.com/fluent/fluentd/pull/2882
* tls: Support CRLF based X.509 certificates
  https://github.com/fluent/fluentd/pull/2890
* msgpack_factory mixin: Fix performance penalty for deprecation log
  https://github.com/fluent/fluentd/pull/2903


# v1.9

## Release v1.9.3 - 2020/03/05

### Enhancement

* in_tail: Emit buffered lines as `unmatched_line` at shutdown phase when `emit_unmatched_lines true`
  https://github.com/fluent/fluentd/pull/2837
* Specify directory mode explicitly
  https://github.com/fluent/fluentd/pull/2827
* server helper: Change SSLError log level to warn in accept
  https://github.com/fluent/fluentd/pull/2861
* Refactor code
  https://github.com/fluent/fluentd/pull/2829
  https://github.com/fluent/fluentd/pull/2830
  https://github.com/fluent/fluentd/pull/2832
  https://github.com/fluent/fluentd/pull/2836
  https://github.com/fluent/fluentd/pull/2838
  https://github.com/fluent/fluentd/pull/2842
  https://github.com/fluent/fluentd/pull/2843

### Bug fix

* buffer: Add seq to metadata that it can be unique
  https://github.com/fluent/fluentd/pull/2824
  https://github.com/fluent/fluentd/pull/2853
* buffer: Use `Tempfile` as binmode for decompression
  https://github.com/fluent/fluentd/pull/2847

### Misc

* Add `.idea` to git ignore file
  https://github.com/fluent/fluentd/pull/2834
* appveyor: Fix tests
  https://github.com/fluent/fluentd/pull/2853
  https://github.com/fluent/fluentd/pull/2855
* Update pem for test
  https://github.com/fluent/fluentd/pull/2839

## Release v1.9.2 - 2020/02/13

### Enhancement

* in_tail: Add `pos_file_compaction_interval` parameter for auto compaction
  https://github.com/fluent/fluentd/pull/2805
* command: Use given encoding when RUBYOPT has `-E`
  https://github.com/fluent/fluentd/pull/2814

### Bug fix

* command: Accept RUBYOPT with two or more options
  https://github.com/fluent/fluentd/pull/2807
* command: Fix infinite loop bug when RUBYOPT is invalid
  https://github.com/fluent/fluentd/pull/2813
* log: serverengine's log should be formatted with the same format of fluentd
  https://github.com/fluent/fluentd/pull/2812
* in_http: Fix `NoMethodError` when `OPTIONS` request doesn't have 'Origin' header
  https://github.com/fluent/fluentd/pull/2823
* parser_syslog: Improved for parsing RFC5424 structured data in `parser_syslog`
  https://github.com/fluent/fluentd/pull/2816

## Release v1.9.1 - 2020/01/31

### Enhancement

* http_server helper: Support HTTPS
  https://github.com/fluent/fluentd/pull/2787
* in_tail: Add `path_delimiter` to split with any char
  https://github.com/fluent/fluentd/pull/2796
* in_tail: Remove an entry from PositionFile when it is unwatched
  https://github.com/fluent/fluentd/pull/2803
* out_http: Add warning for `retryable_response_code`
  https://github.com/fluent/fluentd/pull/2809
* parser_syslog: Add multiline RFC5424 support
  https://github.com/fluent/fluentd/pull/2767
* Add TLS module to unify TLS related code
  https://github.com/fluent/fluentd/pull/2802

### Bug fix

* output: Add `EncodingError` to unrecoverable errors
  https://github.com/fluent/fluentd/pull/2808
* tls: Fix TLS version handling in secure mode
  https://github.com/fluent/fluentd/pull/2802

## Release v1.9.0 - 2020/01/22

### New feature

* New light-weight config reload mechanism
  https://github.com/fluent/fluentd/pull/2716
* Drop ruby 2.1/2.2/2.3 support
  https://github.com/fluent/fluentd/pull/2750

### Enhancement

* output: Show better message for secondary warning
  https://github.com/fluent/fluentd/pull/2751
* Use `ext_monitor` gem if it is installed. For ruby 2.6 or earlier
  https://github.com/fluent/fluentd/pull/2670
* Support Ruby's Time class in msgpack serde
  https://github.com/fluent/fluentd/pull/2775
* Clean up code/test
  https://github.com/fluent/fluentd/pull/2753
  https://github.com/fluent/fluentd/pull/2763
  https://github.com/fluent/fluentd/pull/2764
  https://github.com/fluent/fluentd/pull/2780

### Bug fix

* buffer: Disable the optimization of Metadata instance comparison on Windows
  https://github.com/fluent/fluentd/pull/2778
* output/buffer: Fix stage size computation
  https://github.com/fluent/fluentd/pull/2734
* server: Ignore Errno::EHOSTUNREACH in TLS accept to avoid fluentd restart
  https://github.com/fluent/fluentd/pull/2773
* server: Fix IPv6 dual stack mode issue for udp socket
  https://github.com/fluent/fluentd/pull/2781
* config: Support @include/include directive for spaces included path
  https://github.com/fluent/fluentd/pull/2780


# v1.8

## Release v1.8.1 - 2019/12/26

### Enhancement

* in_tail: Add `path_timezone` parameter to format `path` with the specified timezone
  https://github.com/fluent/fluentd/pull/2719
* out_copy: Add `copy_mode` parameter. `deep_copy` parameter is now deprecated.
  https://github.com/fluent/fluentd/pull/2747
* supervisor: Add deprecated log for `inline_config`
  https://github.com/fluent/fluentd/pull/2746

### Bug fixes

* parser_ltsv: Prevent garbage result by checking `label_delimiter`
  https://github.com/fluent/fluentd/pull/2748

## Release v1.8.0 - 2019/12/11

### New feature

* Add service discovery plugin and `out_forward` use it
  https://github.com/fluent/fluentd/pull/2541
* config: Add strict mode and support `default`/`nil` value in ruby embedded mode
  https://github.com/fluent/fluentd/pull/2685

### Enhancement

* formatter_csv: Support nested fields
  https://github.com/fluent/fluentd/pull/2643
* record_accessor helper: Make code simple and bit faster
  https://github.com/fluent/fluentd/pull/2660
* Relax tzinfo dependency to accept v1
  https://github.com/fluent/fluentd/pull/2673
* log: Deprecate top-level match for capturing fluentd logs
  https://github.com/fluent/fluentd/pull/2689
* in_monitor_agent: Expose Fluentd version in REST API
  https://github.com/fluent/fluentd/pull/2706
* time: Accept localtime xor utc
  https://github.com/fluent/fluentd/pull/2720
  https://github.com/fluent/fluentd/pull/2731
* formatter_stdout: Make time_format configurable in stdout format
  https://github.com/fluent/fluentd/pull/2721
* supervisor: create log directory when it doesn't exists
  https://github.com/fluent/fluentd/pull/2732
* clean up internal classes / methods / code
  https://github.com/fluent/fluentd/pull/2647
  https://github.com/fluent/fluentd/pull/2648
  https://github.com/fluent/fluentd/pull/2653
  https://github.com/fluent/fluentd/pull/2654
  https://github.com/fluent/fluentd/pull/2657
  https://github.com/fluent/fluentd/pull/2667
  https://github.com/fluent/fluentd/pull/2674
  https://github.com/fluent/fluentd/pull/2677
  https://github.com/fluent/fluentd/pull/2680
  https://github.com/fluent/fluentd/pull/2709
  https://github.com/fluent/fluentd/pull/2730

### Bug fixes

* output: Fix warning printed when chunk key placeholder not replaced
  https://github.com/fluent/fluentd/pull/2523
  https://github.com/fluent/fluentd/pull/2733
* Fix dry-run mode
  https://github.com/fluent/fluentd/pull/2651
* suppress warning
  https://github.com/fluent/fluentd/pull/2652
* suppress keyword argument warning for ruby2.7
  https://github.com/fluent/fluentd/pull/2664
* RPC: Fix debug log text
  https://github.com/fluent/fluentd/pull/2666
* time: Properly show class names in error message
  https://github.com/fluent/fluentd/pull/2671
* Fix a potential bug that ThreadError may occur on SIGUSR1
  https://github.com/fluent/fluentd/pull/2678
* server helper: Ignore ECONNREFUSED in TLS accept to avoid fluentd restart
  https://github.com/fluent/fluentd/pull/2695
* server helper: Fix IPv6 dual stack mode issue for tcp socket.
  https://github.com/fluent/fluentd/pull/2697
* supervisor: Fix inline config handling
  https://github.com/fluent/fluentd/pull/2708
* Fix typo
  https://github.com/fluent/fluentd/pull/2710
  https://github.com/fluent/fluentd/pull/2714

# v1.7

## Release v1.7.4 - 2019/10/24

### Enhancement

* in_http: Add `use_204_response` parameter to return proper 204 response instead of 200.
  fluentd v2 will change this parameter to `true`.
  https://github.com/fluent/fluentd/pull/2640

### Bug fixes

* child_process helper: fix stderr blocking for discard case
  https://github.com/fluent/fluentd/pull/2649
* log: Fix log rotation handling on Windows
  https://github.com/fluent/fluentd/pull/2663

## Release v1.7.3 - 2019/10/01

### Enhancement

* in_syslog: Replace priority_key with severity_key
  https://github.com/fluent/fluentd/pull/2636

### Bug fixes

* out_forward: Fix nil error after purge obsoleted sockets in socket cache
  https://github.com/fluent/fluentd/pull/2635
* fix typo in ChangeLog
  https://github.com/fluent/fluentd/pull/2633

## Release v1.7.2 - 2019/09/19

### Enhancement

* in_tcp: Add security/client to restrict access
  https://github.com/fluent/fluentd/pull/2622

### Bug fixes

* buf_file/buf_file_single: fix to handle compress data during restart
  https://github.com/fluent/fluentd/pull/2620
* plugin: Use `__send__` to avoid conflict with user defined `send`
  https://github.com/fluent/fluentd/pull/2614
* buffer: reject invalid timekey at configure phase
  https://github.com/fluent/fluentd/pull/2615


## Release v1.7.1 - 2019/09/08

### Enhancement

* socket helper/out_forward: Support Windows certstore to load certificates
  https://github.com/fluent/fluentd/pull/2601
* parser_syslog: Add faster parser for rfc3164 message
  https://github.com/fluent/fluentd/pull/2599

### Bug fixes

* buf_file/buf_file_single: fix to ignore placeholder based path.
  https://github.com/fluent/fluentd/pull/2594
* server helper: Ignore ETIMEDOUT error in SSL_accept
  https://github.com/fluent/fluentd/pull/2595
* buf_file: ensure to remove metadata after buffer creation failure
  https://github.com/fluent/fluentd/pull/2598
* buf_file_single: fix duplicated path setting check
  https://github.com/fluent/fluentd/pull/2600
* fix msgpack-ruby dependency to use recent feature
  https://github.com/fluent/fluentd/pull/2606


## Release v1.7.0 - 2019/08/20

### New feature

* buffer: Add file_single buffer plugin
  https://github.com/fluent/fluentd/pull/2579
* output: Add http output plugin
  https://github.com/fluent/fluentd/pull/2488

### Enhancement

* buffer: Improve the performance of buffer routine
  https://github.com/fluent/fluentd/pull/2560
  https://github.com/fluent/fluentd/pull/2563
  https://github.com/fluent/fluentd/pull/2564
* output: Use Mutex instead of Monitor
  https://github.com/fluent/fluentd/pull/2561
* event: Add `OneEventStrea#empty?` method
  https://github.com/fluent/fluentd/pull/2565
* thread: Set thread name for ruby 2.3 or later
  https://github.com/fluent/fluentd/pull/2574
* core: Cache msgpack packer/unpacker to avoid the object allocation
  https://github.com/fluent/fluentd/pull/2559
* time: Use faster way to get sec and nsec
  https://github.com/fluent/fluentd/pull/2557
* buf_file: Reduce IO flush by removing `IO#truncate`
  https://github.com/fluent/fluentd/pull/2551
* in_tcp: Improve the performance for multiple event case
  https://github.com/fluent/fluentd/pull/2567
* in_syslog: support `source_hostname_key` and `source_address_key` for unmatched event
  https://github.com/fluent/fluentd/pull/2553
* formatter_csv: Improve the format performance.
  https://github.com/fluent/fluentd/pull/2529
* parser_csv: Add fast parser for typical cases
  https://github.com/fluent/fluentd/pull/2535
* out_forward: Refactor code
  https://github.com/fluent/fluentd/pull/2516
  https://github.com/fluent/fluentd/pull/2532

### Bug fixes

* output: fix data lost on decompression
  https://github.com/fluent/fluentd/pull/2547
* out_exec_filter: fix non-ascii encoding issue
  https://github.com/fluent/fluentd/pull/2539
* in_tail: Don't call parser's configure twice
  https://github.com/fluent/fluentd/pull/2569
* Fix unused message handling for <section> parameters
  https://github.com/fluent/fluentd/pull/2578
* Fix comment/message typos
  https://github.com/fluent/fluentd/pull/2549
  https://github.com/fluent/fluentd/pull/2554
  https://github.com/fluent/fluentd/pull/2556
  https://github.com/fluent/fluentd/pull/2566
  https://github.com/fluent/fluentd/pull/2573
  https://github.com/fluent/fluentd/pull/2576
  https://github.com/fluent/fluentd/pull/2583

# v1.6

## Release v1.6.3 - 2019/07/29

### Enhancement

* in_syslog: Add `emit_unmatched_lines` parameter
  https://github.com/fluent/fluentd/pull/2499
* buf_file: Add `path_suffix` parameter
  https://github.com/fluent/fluentd/pull/2524
* in_tail: Improve the performance of split lines
  https://github.com/fluent/fluentd/pull/2527

### Bug fixes

* http_server: Fix re-define render_json method
  https://github.com/fluent/fluentd/pull/2517

## Release v1.6.2 - 2019/07/11

### Bug fixes

* http_server helper: Add title argument to support multiple servers
  https://github.com/fluent/fluentd/pull/2493

## Release v1.6.1 - 2019/07/10

### Enhancement

* socket/cert: Support all private keys OpenSSL supports, not only RSA.
  https://github.com/fluent/fluentd/pull/2487
* output/buffer: Improve statistics method performance
  https://github.com/fluent/fluentd/pull/2491

### Bug fixes

* plugin_config_formatter: update new doc URL
  https://github.com/fluent/fluentd/pull/2481
* out_forward: Avoid zero division error when there are no available nodes
  https://github.com/fluent/fluentd/pull/2482

## Release v1.6.0 - 2019/07/01

### New feature

* plugin: Add http_server helper and in_monitor_agent use it
  https://github.com/fluent/fluentd/pull/2447

### Enhancement

* in_monitor_agent: Add more metrics for buffer/output
  https://github.com/fluent/fluentd/pull/2450
* time/plugin: Add `EventTime#to_time` method for fast conversion
  https://github.com/fluent/fluentd/pull/2469
* socket helper/out_forward: Add connect_timeout parameter
  https://github.com/fluent/fluentd/pull/2467
* command: Add `--conf-encoding` option
  https://github.com/fluent/fluentd/pull/2453
* parser_none: Small performance optimization
  https://github.com/fluent/fluentd/pull/2455

### Bug fixes

* cert: Fix cert match pattern
  https://github.com/fluent/fluentd/pull/2466
* output: Fix forget to increment rollback count
  https://github.com/fluent/fluentd/pull/2462

# v1.5

## Release v1.5.2 - 2019/06/13

### Bug fixes

* out_forward: Fix duplicated handshake bug in keepalive
  https://github.com/fluent/fluentd/pull/2456

## Release v1.5.1 - 2019/06/05

### Enhancement

* in_tail: Increase read block size to reduce IO call
  https://github.com/fluent/fluentd/pull/2418
* in_monitor_agent: Refactor code
  https://github.com/fluent/fluentd/pull/2422

### Bug fixes

* out_forward: Fix socket handling of keepalive
  https://github.com/fluent/fluentd/pull/2434
* parser: Fix the use of name based timezone
  https://github.com/fluent/fluentd/pull/2421
* in_monitor_agent: Fix debug parameter handling
  https://github.com/fluent/fluentd/pull/2423
* command: Fix error handling of log rotation age option
  https://github.com/fluent/fluentd/pull/2427
* command: Fix ERB warning for ruby 2.6 or later
  https://github.com/fluent/fluentd/pull/2430

## Release v1.5.0 - 2019/05/18

### New feature

* out_forward: Support keepalive feature
  https://github.com/fluent/fluentd/pull/2393
* in_http: Support TLS via server helper
  https://github.com/fluent/fluentd/pull/2395
* in_syslog: Support TLS via server helper
  https://github.com/fluent/fluentd/pull/2399

### Enhancement

* in_syslog: Add delimiter parameter
  https://github.com/fluent/fluentd/pull/2378
* in_forward: Add tag/add_tag_prefix parameters
  https://github.com/fluent/fluentd/pull/2396
* parser_json: Add stream_buffer_size parameter for yajl
  https://github.com/fluent/fluentd/pull/2381
* command: Add deprecated message to show-plugin-config option
  https://github.com/fluent/fluentd/pull/2401
* storage_local: Ignore empty file. Call sync after write for XFS.
  https://github.com/fluent/fluentd/pull/2409

### Bug fixes

* out_forward: Don't use SO_LINGER on SSL/TLS WinSock
  https://github.com/fluent/fluentd/pull/2398
* server helper: Fix recursive lock issue in TLSServer
  https://github.com/fluent/fluentd/pull/2341
* Fix typo
  https://github.com/fluent/fluentd/pull/2369

# v1.4

## Release v1.4.2 - 2019/04/02

### Enhancements

* in_http: subdomain support in CORS domain
  https://github.com/fluent/fluentd/pull/2337
* in_monitor_agent: Expose current timekey list as a buffer metrics
  https://github.com/fluent/fluentd/pull/2343
* in_tcp/in_udp: Add source_address_key parameter
  https://github.com/fluent/fluentd/pull/2347
* in_forward: Add send_keepalive_packet parameter to check the remote connection is available or not
  https://github.com/fluent/fluentd/pull/2352

### Bug fixes

* out_exec_filter: Fix typo of child_respawn description
  https://github.com/fluent/fluentd/pull/2341
* in_tail: Create parent directories for symlink
  https://github.com/fluent/fluentd/pull/2353
* in_tail: Fix encoding duplication check for non-specified case
  https://github.com/fluent/fluentd/pull/2361
* log: Fix time format handling of plugin logger when log format is JSON
  https://github.com/fluent/fluentd/pull/2356

## Release v1.4.1 - 2019/03/18

### Enhancements

* system: Add worker_id to process_name when workers is larger than 1
  https://github.com/fluent/fluentd/pull/2321
* parser_regexp: Check named captures. When no named captures, configuration error is raised
  https://github.com/fluent/fluentd/pull/2331

### Bug fixes

* out_forward: Make tls_client_private_key_passphrase secret
  https://github.com/fluent/fluentd/pull/2324
* in_syslog: Check message length when read from buffer in octet counting
  https://github.com/fluent/fluentd/pull/2323

## Release v1.4.0 - 2019/02/24

### New features

* multiprocess: Support <worker N-M> syntax
  https://github.com/fluent/fluentd/pull/2292
* output: Work <secondary> and retry_forever together
  https://github.com/fluent/fluentd/pull/2276
* out_file: Support placeholders in symlink_path
  https://github.com/fluent/fluentd/pull/2254

### Enhancements

* output: Add MessagePack unpacker error to unrecoverable error list
  https://github.com/fluent/fluentd/pull/2301
* output: Reduce flush delay when large timekey and small timekey_wait are specified
  https://github.com/fluent/fluentd/pull/2291
* config: Support embedded ruby code in section argument.
  https://github.com/fluent/fluentd/pull/2295
* in_tail: Improve encoding parameter handling
  https://github.com/fluent/fluentd/pull/2305
* in_tcp/in_udp: Add <parse> section check
  https://github.com/fluent/fluentd/pull/2267

### Bug fixes

* server: Ignore IOError and related errors in UDP
  https://github.com/fluent/fluentd/pull/2310
* server: Ignore EPIPE in TLS accept to avoid fluentd restart
  https://github.com/fluent/fluentd/pull/2253

# v1.3

## Release v1.3.3 - 2019/01/06

### Enhancements

* parser_syslog: Use String#squeeze for performance improvement
  https://github.com/fluent/fluentd/pull/2239
* parser_syslog: Support RFC5424 timestamp without subseconds
  https://github.com/fluent/fluentd/pull/2240

### Bug fixes

* server: Ignore ECONNRESET in TLS accept to avoid fluentd restart
  https://github.com/fluent/fluentd/pull/2243
* log: Fix plugin logger ignores fluentd log event setting
  https://github.com/fluent/fluentd/pull/2252

## Release v1.3.2 - 2018/12/10

### Enhancements

* out_forward: Support mutual TLS
  https://github.com/fluent/fluentd/pull/2187
* out_file: Create `pos_file` directory if it doesn't exist
  https://github.com/fluent/fluentd/pull/2223

### Bug fixes

* output: Fix logs during retry
  https://github.com/fluent/fluentd/pull/2203

## Release v1.3.1 - 2018/11/27

### Enhancements

* out_forward: Separate parameter names for certificate
  https://github.com/fluent/fluentd/pull/2181
  https://github.com/fluent/fluentd/pull/2190
* out_forward: Add `verify_connection_at_startup` parameter to check connection setting at startup phase
  https://github.com/fluent/fluentd/pull/2184
* config: Check right slash position in regexp type
  https://github.com/fluent/fluentd/pull/2176
* parser_nginx: Support multiple IPs in `http_x_forwarded_for` field
  https://github.com/fluent/fluentd/pull/2171

### Bug fixes

* fluent-cat: Fix retry limit handling
  https://github.com/fluent/fluentd/pull/2193
* record_accessor helper: Delete top level field with bracket style
  https://github.com/fluent/fluentd/pull/2192
* filter_record_transformer: Keep `class` method to avoid undefined method error
  https://github.com/fluent/fluentd/pull/2186

## Release v1.3.0 - 2018/11/10

### New features

* output: Change thread execution control
  https://github.com/fluent/fluentd/pull/2170
* in_syslog: Support octet counting frame
  https://github.com/fluent/fluentd/pull/2147
* Use `flush_thread_count` value for `queued_chunks_limit_size` when `queued_chunks_limit_size` is not specified
  https://github.com/fluent/fluentd/pull/2173

### Enhancements

* output: Show backtrace for unrecoverable errors
  https://github.com/fluent/fluentd/pull/2149
* in_http: Implement support for CORS preflight requests
  https://github.com/fluent/fluentd/pull/2144

### Bug fixes

* server: Fix deadlock between on_writable and close in sockets
  https://github.com/fluent/fluentd/pull/2165
* output: show correct error when wrong plugin is specified for secondary
  https://github.com/fluent/fluentd/pull/2169

# v1.2

## Release v1.2.6 - 2018/10/03

### Enhancements

* output: Add `disable_chunk_backup` for ignore broken chunks.
  https://github.com/fluent/fluentd/pull/2117
* parser_syslog: Improve regexp for RFC5424
  https://github.com/fluent/fluentd/pull/2141
* in_http: Allow specifying the wildcard '*' as the CORS domain
  https://github.com/fluent/fluentd/pull/2139

### Bug fixes

* in_tail: Prevent thread switching in the interval between seek and read/write operations to pos_file
  https://github.com/fluent/fluentd/pull/2118
* parser: Handle LoadError properly for oj
  https://github.com/fluent/fluentd/pull/2140

## Release v1.2.5 - 2018/08/22

### Bug fixes

* in_tail: Fix resource leak by file rotation
  https://github.com/fluent/fluentd/pull/2105
* fix typos

## Release v1.2.4 - 2018/08/01

### Bug fixes

* output: Consider timezone when calculate timekey
  https://github.com/fluent/fluentd/pull/2054
* output: Fix bug in suppress_emit_error_log_interval
  https://github.com/fluent/fluentd/pull/2069
* server-helper: Fix connection leak by close timing issue.
  https://github.com/fluent/fluentd/pull/2087

## Release v1.2.3 - 2018/07/10

### Enhancements

* in_http: Consider `<parse>` parameters in batch mode
  https://github.com/fluent/fluentd/pull/2055
* in_http: Support gzip payload
  https://github.com/fluent/fluentd/pull/2060
* output: Improve compress performance
  https://github.com/fluent/fluentd/pull/2031
* in_monitor_agent: Add missing descriptions for configurable options
  https://github.com/fluent/fluentd/pull/2037
* parser_syslog: update regex of pid field for conformance to RFC5424 spec
  https://github.com/fluent/fluentd/pull/2051

### Bug fixes

* in_tail: Fix to rescue Errno::ENOENT for File.mtime()
  https://github.com/fluent/fluentd/pull/2063
* fluent-plugin-generate: Fix Parser plugin template
  https://github.com/fluent/fluentd/pull/2026
* fluent-plugin-config-format: Fix NoMethodError for some plugins
  https://github.com/fluent/fluentd/pull/2023
* config: Don't warn message for reserved parameters in DSL
  https://github.com/fluent/fluentd/pull/2034

## Release v1.2.2 - 2018/06/12

### Enhancements

* filter_parser: Add remove_key_name_field parameter
  https://github.com/fluent/fluentd/pull/2012
* fluent-plugin-config-format: Dump config_argument
  https://github.com/fluent/fluentd/pull/2003

### Bug fixes

* in_tail: Change pos file entry handling to avoid read conflict for other plugins
  https://github.com/fluent/fluentd/pull/1963
* buffer: Wait for all chunks being purged before deleting @queued_num items
  https://github.com/fluent/fluentd/pull/2016

## Release v1.2.1 - 2018/05/23

### Enhancements

* Counter: Add wait API to client
  https://github.com/fluent/fluentd/pull/1997

### Bug fixes

* in_tcp/in_udp: Fix source_hostname_key to set hostname correctly
  https://github.com/fluent/fluentd/pull/1976
* in_monitor_agent: Fix buffer_total_queued_size calculation
  https://github.com/fluent/fluentd/pull/1990
* out_file: Temporal fix for broken gzipped files with gzip and append
  https://github.com/fluent/fluentd/pull/1995
* test: Fix unstable backup test
  https://github.com/fluent/fluentd/pull/1979
* gemspec: Remove deprecated has_rdoc

## Release v1.2.0 - 2018/04/30

### New Features

* New Counter API
  https://github.com/fluent/fluentd/pull/1857
* output: Backup for broken chunks
  https://github.com/fluent/fluentd/pull/1952
* filter_grep: Support for `<and>` and `<or>` sections
  https://github.com/fluent/fluentd/pull/1897
* config: Support `regexp` type in configuration parameter
  https://github.com/fluent/fluentd/pull/1927

### Enhancements

* parser_nginx: Support optional `http-x-forwarded-for` field
  https://github.com/fluent/fluentd/pull/1932
* filter_grep: Improve the performance
  https://github.com/fluent/fluentd/pull/1940

### Bug fixes

* log: Fix unexpected implementation bug when log rotation setting is applied
  https://github.com/fluent/fluentd/pull/1957
* server helper: Close invalid socket when ssl error happens on reading
  https://github.com/fluent/fluentd/pull/1942
* output: Buffer chunk's unique id should be formatted as hex in the log

# v1.1

## Release v1.1.3 - 2018/04/03

### Enhancements

* output: Support negative index for tag placeholders
  https://github.com/fluent/fluentd/pull/1908
* buffer: Add queued_chunks_limit_size to control the number of queued chunks
  https://github.com/fluent/fluentd/pull/1916
* time: Make Fluent::EventTime human readable for inspect
  https://github.com/fluent/fluentd/pull/1915

### Bug fixes

* output: Delete empty queued_num field after purging chunks
  https://github.com/fluent/fluentd/pull/1919
* fluent-debug: Fix usage message of fluent-debug command
  https://github.com/fluent/fluentd/pull/1920
* out_forward: The node should be disabled when TLS socket for ack returns an error
  https://github.com/fluent/fluentd/pull/1925

## Release v1.1.2 - 2018/03/18

### Enhancements

* filter_grep: Support pattern starts with character classes with //
  https://github.com/fluent/fluentd/pull/1887

### Bug fixes

* in_tail: Handle records in the correct order on file rotation
  https://github.com/fluent/fluentd/pull/1880
* out_forward: Fix race condition with `<security>` on multi thread environment
  https://github.com/fluent/fluentd/pull/1893
* output: Prevent flushing threads consume too much CPU when retry happens
  https://github.com/fluent/fluentd/pull/1901
* config: Fix boolean param handling for comment without value
  https://github.com/fluent/fluentd/pull/1883
* test: Fix random test failures in test/plugin/test_out_forward.rb
  https://github.com/fluent/fluentd/pull/1881
  https://github.com/fluent/fluentd/pull/1890
* command: Fix typo in binlog_reader
  https://github.com/fluent/fluentd/pull/1898

## Release v1.1.1 - 2018/03/05

### Enhancements

* in_debug_agent: Support multi worker environment
  https://github.com/fluent/fluentd/pull/1869
* in_forward: Improve SSL setup to support mutual TLS
  https://github.com/fluent/fluentd/pull/1861
* buf_file: Skip and delete broken file chunks to avoid unsuccessful retry in resume
  https://github.com/fluent/fluentd/pull/1874
* command: Show fluentd version for debug purpose
  https://github.com/fluent/fluentd/pull/1839

### Bug fixes

* in_forward: Do not close connection until write is complete on failed auth PONG
  https://github.com/fluent/fluentd/pull/1835
* in_tail: Fix IO event race condition during shutdown
  https://github.com/fluent/fluentd/pull/1876
* in_http: Emit event time instead of raw time value in batch
  https://github.com/fluent/fluentd/pull/1850
* parser_json: Add EncodingError to rescue list for oj 3.x.
  https://github.com/fluent/fluentd/pull/1875
* config: Fix config_param for string type with frozen string
  https://github.com/fluent/fluentd/pull/1838
* timer: Fix a bug to leak non-repeating timer watchers
  https://github.com/fluent/fluentd/pull/1864

## Release v1.1.0 - 2018/01/17

### New features / Enhancements

* config: Add hostname and worker_id short-cut
  https://github.com/fluent/fluentd/pull/1814
* parser_ltsv: Add delimiter_pattern parameter
  https://github.com/fluent/fluentd/pull/1802
* record_accessor helper: Support nested field deletion
  https://github.com/fluent/fluentd/pull/1800
* record_accessor helper: Expose internal instance `@keys` variable
  https://github.com/fluent/fluentd/pull/1808
* log: Improve Log#on_xxx API performance
  https://github.com/fluent/fluentd/pull/1809
* time: Improve time formatting performance
  https://github.com/fluent/fluentd/pull/1796
* command: Port certificates generating command from secure-forward
  https://github.com/fluent/fluentd/pull/1818

### Bug fixes

* server helper: Fix TCP + TLS degradation
  https://github.com/fluent/fluentd/pull/1805
* time: Fix the method for TimeFormatter#call
  https://github.com/fluent/fluentd/pull/1813

# v1.0

## Release v1.0.2 - 2017/12/17

### New features / Enhancements

* Use dig_rb instead of ruby_dig to support dig method in more objects
  https://github.com/fluent/fluentd/pull/1794

## Release v1.0.1 - 2017/12/14

### New features / Enhancements

* in_udp: Add receive_buffer_size parameter
  https://github.com/fluent/fluentd/pull/1788
* in_tail: Add enable_stat_watcher option to disable inotify events
  https://github.com/fluent/fluentd/pull/1775
* Relax strptime gem version

### Bug fixes

* in_tail: Properly handle moved back and truncated case
  https://github.com/fluent/fluentd/pull/1793
* out_forward: Rebuild weight array to apply server setting properly
  https://github.com/fluent/fluentd/pull/1784
* fluent-plugin-config-formatter: Use v1.0 for URL
  https://github.com/fluent/fluentd/pull/1781

## Release v1.0.0 - 2017/12/6

See [CNCF announcement](https://www.cncf.io/blog/2017/12/06/fluentd-v1-0/) :)

### New features / Enhancements

* out_copy: Support ignore_error argument in `<store>`
  https://github.com/fluent/fluentd/pull/1764
* server helper: Improve resource usage of TLS transport
  https://github.com/fluent/fluentd/pull/1764
* Disable tracepoint feature to omit unnecessary insts
  https://github.com/fluent/fluentd/pull/1764

### Bug fixes

* out_forward: Don't update retry state when failed to get ack response.
  https://github.com/fluent/fluentd/pull/1686
* plugin: Combine before_shutdown and shutdown call in one sequence.
  https://github.com/fluent/fluentd/pull/1763
* Add description to parsers
  https://github.com/fluent/fluentd/pull/1776
  https://github.com/fluent/fluentd/pull/1777
  https://github.com/fluent/fluentd/pull/1778
  https://github.com/fluent/fluentd/pull/1779
  https://github.com/fluent/fluentd/pull/1780
* filter_parser: Add parameter description
  https://github.com/fluent/fluentd/pull/1773
* plugin: Combine before_shutdown and shutdown call in one sequence.
  https://github.com/fluent/fluentd/pull/1763

# v0.14

## Release v0.14.25 - 2017/11/29

### New features / Enhancements

* Disable tracepoint feature to omit unnecessary insts
  https://github.com/fluent/fluentd/pull/1764

### Bug fixes

* out_forward: Don't update retry state when failed to get ack response.
  https://github.com/fluent/fluentd/pull/1686
* plugin: Combine before_shutdown and shutdown call in one sequence.
  https://github.com/fluent/fluentd/pull/1763

## Release v0.14.24 - 2017/11/24

### New features / Enhancements

* plugin-config-formatter: Add link to plugin helper result
  https://github.com/fluent/fluentd/pull/1753
* server helper: Refactor code
  https://github.com/fluent/fluentd/pull/1759

### Bug fixes

* supervisor: Don't call change_privilege twice
  https://github.com/fluent/fluentd/pull/1757

## Release v0.14.23 - 2017/11/15

### New features / Enhancements

* in_udp: Add remove_newline parameter
  https://github.com/fluent/fluentd/pull/1747

### Bug fixes

* buffer: Lock buffers in order of metadata
  https://github.com/fluent/fluentd/pull/1722
* in_tcp: Fix log corruption under load.
  https://github.com/fluent/fluentd/pull/1729
* out_forward: Fix elapsed time miscalculation in tcp heartbeat
  https://github.com/fluent/fluentd/pull/1738
* supervisor: Fix worker pid handling during worker restart
  https://github.com/fluent/fluentd/pull/1739
* in_tail: Skip setup failed watcher to avoid resource leak and log bloat
  https://github.com/fluent/fluentd/pull/1742
* agent: Add error location to emit error logs
  https://github.com/fluent/fluentd/pull/1746
* command: Consider hyphen and underscore in fluent-plugin-generate arguments
  https://github.com/fluent/fluentd/pull/1751

## Release v0.14.22 - 2017/11/01

### New features / Enhancements

* formatter_tsv: Add add_newline parameter
  https://github.com/fluent/fluentd/pull/1691
* out_file/out_secondary_file: Support ${chunk_id} placeholder. This includes extract_placeholders API change
  https://github.com/fluent/fluentd/pull/1708
* record_accessor: Support double quotes in bracket notation
  https://github.com/fluent/fluentd/pull/1716
* log: Show running ruby version in startup log
  https://github.com/fluent/fluentd/pull/1717
* log: Log message when chunk is created
  https://github.com/fluent/fluentd/pull/1718
* in_tail: Add pos_file duplication check
  https://github.com/fluent/fluentd/pull/1720

### Bug fixes

* parser_apache2: Delay time parser initialization
  https://github.com/fluent/fluentd/pull/1690
* cert_option: Improve generated certificates' conformance to X.509 specification
  https://github.com/fluent/fluentd/pull/1714
* buffer: Always lock chunks first to avoid deadlock
  https://github.com/fluent/fluentd/pull/1721

## Release v0.14.21 - 2017/09/07

### New features / Enhancements

* filter_parser: Support record_accessor in key_name
  https://github.com/fluent/fluentd/pull/1654
* buffer: Support record_accessor in chunk keys
  https://github.com/fluent/fluentd/pull/1662

### Bug fixes

* compat_parameters: Support all syslog parser parameters
  https://github.com/fluent/fluentd/pull/1650
* filter_record_transformer: Don't create new keys if the original record doesn't have `keep_keys` keys
  https://github.com/fluent/fluentd/pull/1663
* in_tail: Fix the error when 'tag *' is configured
  https://github.com/fluent/fluentd/pull/1664
* supervisor: Clear previous worker pids when receive kill signals.
  https://github.com/fluent/fluentd/pull/1683

## Release v0.14.20 - 2017/07/31

### New features / Enhancements

* plugin: Add record_accessor plugin helper
  https://github.com/fluent/fluentd/pull/1637
* log: Add format and time_format parameters to `<system>` setting
  https://github.com/fluent/fluentd/pull/1644

### Bug fixes

* buf_file: Improve file handling to mitigate broken meta file
  https://github.com/fluent/fluentd/pull/1628
* in_syslog: Fix the description of resolve_hostname parameter
  https://github.com/fluent/fluentd/pull/1633
* process: Fix signal handling. Send signal to all workers
  https://github.com/fluent/fluentd/pull/1642
* output: Fix error message typo
  https://github.com/fluent/fluentd/pull/1643

## Release v0.14.19 - 2017/07/12

### New features / Enhancements

* in_syslog: More characters are available in tag part of syslog format
  https://github.com/fluent/fluentd/pull/1610
* in_syslog: Add resolve_hostname parameter
  https://github.com/fluent/fluentd/pull/1616
* filter_grep: Support new configuration format by config_section
  https://github.com/fluent/fluentd/pull/1611

### Bug fixes

* output: Fix race condition of retry state in flush thread
  https://github.com/fluent/fluentd/pull/1623
* test: Fix typo in test_in_tail.rb
  https://github.com/fluent/fluentd/pull/1622

## Release v0.14.18 - 2017/06/21

### New features / Enhancements

* parser: Add rfc5424 regex without priority
  https://github.com/fluent/fluentd/pull/1600

### Bug fixes

* in_tail: Fix timing issue that the excluded_path doesn't apply.
  https://github.com/fluent/fluentd/pull/1597
* config: Fix broken UTF-8 encoded configuration file handling
  https://github.com/fluent/fluentd/pull/1592
* out_forward: Don't stop heartbeat when error happen
  https://github.com/fluent/fluentd/pull/1602
* Fix command name typo in plugin template
  https://github.com/fluent/fluentd/pull/1603

## Release v0.14.17 - 2017/05/29

### New features / Enhancements

* in_tail: Add ignore_repeated_permission_error
  https://github.com/fluent/fluentd/pull/1574
* server: Accept private key for TLS server without passphrase
  https://github.com/fluent/fluentd/pull/1575
* config: Validate workers option on standalone mode
  https://github.com/fluent/fluentd/pull/1577

### Bug fixes

* config: Mask all secret parameters in worker section
  https://github.com/fluent/fluentd/pull/1580
* out_forward: Fix ack handling
  https://github.com/fluent/fluentd/pull/1581
* plugin-config-format: Fix markdown format generator
  https://github.com/fluent/fluentd/pull/1585

## Release v0.14.16 - 2017/05/13

### New features / Enhancements

* config: Allow null byte in double-quoted string
  https://github.com/fluent/fluentd/pull/1552
* parser: Support %iso8601 special case for time_format
  https://github.com/fluent/fluentd/pull/1562

### Bug fixes

* out_forward: Call proper method for each connection type
  https://github.com/fluent/fluentd/pull/1560
* in_monitor_agent: check variable buffer is a Buffer instance
  https://github.com/fluent/fluentd/pull/1556
* log: Add missing '<<' method to delegators
  https://github.com/fluent/fluentd/pull/1558
* command: uninitialized constant Fluent::Engine in fluent-binlog-reader
  https://github.com/fluent/fluentd/pull/1568

## Release v0.14.15 - 2017/04/23

### New features / Enhancements

* Add `<worker N>` directive
  https://github.com/fluent/fluentd/pull/1507
* in_tail: Do not warn that directories are unreadable in the in_tail plugin
  https://github.com/fluent/fluentd/pull/1540
* output: Add formatted_to_msgpack_binary? to Output plugin API
  https://github.com/fluent/fluentd/pull/1547
* windows: Allow the Windows Service name Fluentd runs as to be configurable
  https://github.com/fluent/fluentd/pull/1548

### Bug fixes

* in_http: Fix X-Forwarded-For header handling. Accept multiple headers
  https://github.com/fluent/fluentd/pull/1535
* Fix backward compatibility with Fluent::DetachProcess and Fluent::DetachMultiProcess
  https://github.com/fluent/fluentd/pull/1522
* fix typo
  https://github.com/fluent/fluentd/pull/1521
  https://github.com/fluent/fluentd/pull/1523
  https://github.com/fluent/fluentd/pull/1544
* test: Fix out_file test with timezone
  https://github.com/fluent/fluentd/pull/1546
* windows: Quote the file path to the Ruby bin directory when starting fluentd as a windows service
  https://github.com/fluent/fluentd/pull/1536

## Release v0.14.14 - 2017/03/23

### New features / Enhancements

* in_http: Support 'application/msgpack` header
  https://github.com/fluent/fluentd/pull/1498
* in_udp: Add message_length_limit parameter for parameter name consistency with in_syslog
  https://github.com/fluent/fluentd/pull/1515
* in_monitor_agent: Start one HTTP server per worker on sequential port numbers
  https://github.com/fluent/fluentd/pull/1493
* in_tail: Skip the refresh of watching list on startup
  https://github.com/fluent/fluentd/pull/1487
* filter_parser: filter_parser: Add emit_invalid_record_to_error parameter
  https://github.com/fluent/fluentd/pull/1494
* parser_syslog: Support RFC5424 syslog format
  https://github.com/fluent/fluentd/pull/1492
* parser: Allow escape sequence in Apache access log
  https://github.com/fluent/fluentd/pull/1479
* config: Add actual value in the placeholder error message
  https://github.com/fluent/fluentd/pull/1497
* log: Add Fluent::Log#<< to support some SDKs
  https://github.com/fluent/fluentd/pull/1478

### Bug fixes

* Fix cleanup resource
  https://github.com/fluent/fluentd/pull/1483
* config: Set encoding forcefully to avoid UndefinedConversionError
  https://github.com/fluent/fluentd/pull/1477
* Fix Input and Output deadlock when buffer is full during startup
  https://github.com/fluent/fluentd/pull/1502
* config: Fix log_level handling in `<system>`
  https://github.com/fluent/fluentd/pull/1501
* Fix typo in root agent error log
  https://github.com/fluent/fluentd/pull/1491
* storage: Fix a bug storage_create cannot accept hash as `conf` keyword argument
  https://github.com/fluent/fluentd/pull/1482

## Release v0.14.13 - 2017/02/17

### New features / Enhancements

* in_tail: Add 'limit_recently_modified' to limit watch files.
  https://github.com/fluent/fluentd/pull/1474
* configuration: Improve 'flush_interval' handling for better message and backward compatibility
  https://github.com/fluent/fluentd/pull/1442
* command: Add 'fluent-plugin-generate' command
  https://github.com/fluent/fluentd/pull/1427
* output: Skip record when 'Output#format' returns nil
  https://github.com/fluent/fluentd/pull/1469

### Bug fixes

* output: Secondary calculation should consider 'retry_max_times'
  https://github.com/fluent/fluentd/pull/1452
* Fix regression of deprecated 'process' module
  https://github.com/fluent/fluentd/pull/1443
* Fix missing parser_regex require
  https://github.com/fluent/fluentd/issues/1458
  https://github.com/fluent/fluentd/pull/1453
* Keep 'Fluent::BufferQueueLimitError' for existing plugins
  https://github.com/fluent/fluentd/pull/1456
* in_tail: Untracked files should be removed from watching list to avoid memory bloat
  https://github.com/fluent/fluentd/pull/1467
* in_tail: directories should be skipped when the ** pattern is used
  https://github.com/fluent/fluentd/pull/1464
* record_transformer: Revert "Use BasicObject for cleanroom" for `enable_ruby` regression.
  https://github.com/fluent/fluentd/pull/1461
* buf_file: handle "Too many open files" error to keep buffer and metadata pair
  https://github.com/fluent/fluentd/pull/1468

## Release v0.14.12 - 2017/01/30

### New features / Enhancements
* Support multi process workers by `workers` option
  https://github.com/fluent/fluentd/pull/1386
* Support TLS transport security layer by server plugin helper, and forward input/output plugins
  https://github.com/fluent/fluentd/pull/1423
* Update internal log event handling to route log events to `@FLUENT_LOG` label if configured, suppress log events in startup/shutdown in default
  https://github.com/fluent/fluentd/pull/1405
* Rename buffer plugin chunk limit parameters for consistency
  https://github.com/fluent/fluentd/pull/1412
* Encode string values from configuration files in UTF8
  https://github.com/fluent/fluentd/pull/1411
* Reorder plugin load paths to load rubygem plugins earlier than built-in plugins to overwrite them
  https://github.com/fluent/fluentd/pull/1410
* Clock API to control internal thread control
  https://github.com/fluent/fluentd/pull/1425
* Validate `config_param` options to restrict unexpected specifications
  https://github.com/fluent/fluentd/pull/1437
* formatter: Add `add_newline` option to get formatted lines without newlines
  https://github.com/fluent/fluentd/pull/1420
* in_forward: Add `ignore_network_errors_at_startup` option for automated cluster deployment
  https://github.com/fluent/fluentd/pull/1399
* in_forward: Close listening socket in #stop, not to accept new connection request in early stage of shutdown
  https://github.com/fluent/fluentd/pull/1401
* out_forward: Ensure to pack values in `str` type of msgpack
  https://github.com/fluent/fluentd/pull/1413
* in_tail: Add `emit_unmatched_lines` to capture lines which unmatch configured regular expressions
  https://github.com/fluent/fluentd/pull/1421
* in_tail: Add `open_on_every_update` to read lines from files opened in exclusive mode on Windows platform
  https://github.com/fluent/fluentd/pull/1409
* in_monitor_agent: Add `with_ivars` query parameter to get instance variables only for specified instance variables
  https://github.com/fluent/fluentd/pull/1393
* storage_local: Generate file store path using `usage`, with `root_dir` configuration
  https://github.com/fluent/fluentd/pull/1438
* Improve test stability
  https://github.com/fluent/fluentd/pull/1426

### Bug fixes
* Fix bug to ignore command line options: `--rpc-endpoint`, `--suppress-config-dump`, etc
  https://github.com/fluent/fluentd/pull/1398
* Fix bug to block infinitely in shutdown when buffer is full and `overflow_action` is `block`
  https://github.com/fluent/fluentd/pull/1396
* buf_file: Fix bug not to use `root_dir` even if configured correctly
  https://github.com/fluent/fluentd/pull/1417
* filter_record_transformer: Fix to use BasicObject for clean room
  https://github.com/fluent/fluentd/pull/1415
* filter_record_transformer: Fix bug that `remove_keys` doesn't work with `renew_time_key`
  https://github.com/fluent/fluentd/pull/1433
* in_monitor_agent: Fix bug to crash with NoMethodError for some output plugins
  https://github.com/fluent/fluentd/pull/1365

## Release v0.14.11 - 2016/12/26

### New features / Enhancements
* Add "root_dir" parameter in `<system>` directive to configure server root directory, used for buffer/storage paths
  https://github.com/fluent/fluentd/pull/1374
* Fix not to restart Fluentd processes when unrecoverable errors occur
  https://github.com/fluent/fluentd/pull/1359
* Show warnings in log when output flush operation takes longer time than threshold
  https://github.com/fluent/fluentd/pull/1370
* formatter_csv: Raise configuration error when no field names are specified
  https://github.com/fluent/fluentd/pull/1369
* in_syslog: Update implementation to use plugin helpers
  https://github.com/fluent/fluentd/pull/1382
* in_forward: Add a configuration parameter "source_address_key"
  https://github.com/fluent/fluentd/pull/1382
* in_monitor_agent: Add a parameter "include_retry" to get detail retry status
  https://github.com/fluent/fluentd/pull/1387
* Add Ruby 2.4 into supported ruby versions

### Bug fixes
* Fix to set process name of supervisor process
  https://github.com/fluent/fluentd/pull/1380
* in_forward: Fix a bug not to handle "require_ack_response" correctly
  https://github.com/fluent/fluentd/pull/1389


## Release v0.14.10 - 2016/12/14

### New features / Enhancement

* Add socket/server plugin helper to write TCP/UDP clients/servers as Fluentd plugin
  https://github.com/fluent/fluentd/pull/1312
  https://github.com/fluent/fluentd/pull/1350
  https://github.com/fluent/fluentd/pull/1356
  https://github.com/fluent/fluentd/pull/1362
* Fix to raise errors when injected hostname is also specified as chunk key
  https://github.com/fluent/fluentd/pull/1357
* in_tail: Optimize to read lines from file
  https://github.com/fluent/fluentd/pull/1325
* in_monitor_agent: Add new parameter "include_config"(default: true)
  https://github.com/fluent/fluentd/pull/1317
* in_syslog: Add "priority_key" and "facility_key" options
  https://github.com/fluent/fluentd/pull/1351
* filter_record_transformer: Remove obsoleted syntax like "${message}" and not to dump records in logs
  https://github.com/fluent/fluentd/pull/1328
* Add an option "--time-as-integer" to fluent-cat command to send events from v0.14 fluent-cat to v0.12 fluentd
  https://github.com/fluent/fluentd/pull/1349

### Bug fixes

* Specify correct Oj options for newer versions (Oj 2.18.0 or later)
  https://github.com/fluent/fluentd/pull/1331
* TimeSlice output plugins (in v0.12 style) raise errors when "utc" parameter is specified
  https://github.com/fluent/fluentd/pull/1319
* Parser plugins cannot use options for regular expressions
  https://github.com/fluent/fluentd/pull/1326
* Fix bugs not to raise errors to use logger in v0.12 plugins
  https://github.com/fluent/fluentd/pull/1344
  https://github.com/fluent/fluentd/pull/1332
* Fix bug about shutting down Fluentd in Windows
  https://github.com/fluent/fluentd/pull/1367
* in_tail: Close files explicitly in tests
  https://github.com/fluent/fluentd/pull/1327
* out_forward: Fix bug not to convert buffer configurations into v0.14 parameters
  https://github.com/fluent/fluentd/pull/1337
* out_forward: Fix bug to raise error when "expire_dns_cache" is specified
  https://github.com/fluent/fluentd/pull/1346
* out_file: Fix bug to raise error about buffer chunking when it's configured as secondary
  https://github.com/fluent/fluentd/pull/1338

## Release v0.14.9 - 2016/11/15

### New features / Enhancement

* filter_parser: Port fluent-plugin-parser into built-in plugin
  https://github.com/fluent/fluentd/pull/1191
* parser/formatter plugin helpers with default @type in plugin side
  https://github.com/fluent/fluentd/pull/1267
* parser: Reconstruct Parser related classes
  https://github.com/fluent/fluentd/pull/1286
* filter_record_transformer: Remove old behaviours
  https://github.com/fluent/fluentd/pull/1311
* Migrate some built-in plugins into v0.14 API
  https://github.com/fluent/fluentd/pull/1257 (out_file)
  https://github.com/fluent/fluentd/pull/1297 (out_exec, out_exec_filter)
  https://github.com/fluent/fluentd/pull/1306 (in_forward, out_forward)
  https://github.com/fluent/fluentd/pull/1308 (in_http)
* test: Improve test drivers
  https://github.com/fluent/fluentd/pull/1302
  https://github.com/fluent/fluentd/pull/1305

### Bug fixes

* log: Avoid name conflict between Fluent::Logger
  https://github.com/fluent/fluentd/pull/1274
* fluent-cat: Fix fluent-cat command to send sub-second precision time
  https://github.com/fluent/fluentd/pull/1277
* config: Fix a bug not to overwrite default value with nil
  https://github.com/fluent/fluentd/pull/1296
* output: Fix timezone for compat timesliced output plugins
  https://github.com/fluent/fluentd/pull/1307
* out_forward: fix not to raise error when out_forward is initialized as secondary
  https://github.com/fluent/fluentd/pull/1313
* output: Event router for secondary output
  https://github.com/fluent/fluentd/pull/1283
* test: fix to return the block value as expected by many rubyists
  https://github.com/fluent/fluentd/pull/1284

## Release v0.14.8 - 2016/10/13

### Bug fixes

* Add msgpack_each to buffer chunks in compat-layer output plugins
  https://github.com/fluent/fluentd/pull/1273

## Release v0.14.7 - 2016/10/07

### New features / Enhancement

* Support data compression in buffer plugins
  https://github.com/fluent/fluentd/pull/1172
* in_forward: support to transfer compressed data
  https://github.com/fluent/fluentd/pull/1179
* out_stdout: fix to show nanosecond resolution time
  https://github.com/fluent/fluentd/pull/1249
* Add option to rotate Fluentd daemon's log
  https://github.com/fluent/fluentd/pull/1235
* Add extract plugin helper, with symmetric time parameter support in parser/formatter and inject/extract
  https://github.com/fluent/fluentd/pull/1207
* Add a feature to parse/format numeric time (unix time [+ subsecond value])
  https://github.com/fluent/fluentd/pull/1254
* Raise configuration errors for inconsistent `<label>` configurations
  https://github.com/fluent/fluentd/pull/1233
* Fix to instantiate an unconfigured section even for multi: true
  https://github.com/fluent/fluentd/pull/1210
* Add validators of placeholders for buffering key extraction
  https://github.com/fluent/fluentd/pull/1255
* Fix to show log messages about filter optimization only when needed
  https://github.com/fluent/fluentd/pull/1227
* Add some features to write plugins more easily
  https://github.com/fluent/fluentd/pull/1256
* Add a tool to load dumped events from file
  https://github.com/fluent/fluentd/pull/1165

### Bug fixes

* Fix Oj's default option to encode/decode JSON in the same way with Yajl
  https://github.com/fluent/fluentd/pull/1147
  https://github.com/fluent/fluentd/pull/1239
* Fix to raise correct configuration errors
  https://github.com/fluent/fluentd/pull/1223
* Fix a bug to call `shutdown` method (and some others) twice
  https://github.com/fluent/fluentd/pull/1242
* Fix to enable `chunk.each` only when it's encoded by msgpack
  https://github.com/fluent/fluentd/pull/1263
* Fix a bug not to stop enqueue/flush threads correctly
  https://github.com/fluent/fluentd/pull/1264
* out_forward: fix a bug that UDP heartbeat doesn't work
  https://github.com/fluent/fluentd/pull/1238
* out_file: fix a crash bug when v0.14 enables symlink and resumes existing buffer file chunk generated by v0.12
  https://github.com/fluent/fluentd/pull/1234
* in_monitor_agent: fix compatibility problem between outputs of v0.12 and v0.14
  https://github.com/fluent/fluentd/pull/1232
* in_tail: fix a bug to crash to read large amount logs
  https://github.com/fluent/fluentd/pull/1259
  https://github.com/fluent/fluentd/pull/1261

## Release v0.14.6 - 2016/09/07

### Bug fixes

* in_tail: Add a missing parser_multiline require
  https://github.com/fluent/fluentd/pull/1212
* forward: Mark secret parameters of forward plugins as secret
  https://github.com/fluent/fluentd/pull/1209

## Release v0.14.5 - 2016/09/06

### New features / Enhancement

* Add authentication / authorization feature to forward protocol and in/out_forward plugins
  https://github.com/fluent/fluentd/pull/1136
* Add a new plugin to dump buffers in retries as secondary plugin
  https://github.com/fluent/fluentd/pull/1154
* Merge out_buffered_stdout and out_buffered_null into out_stdout and out_null
  https://github.com/fluent/fluentd/pull/1200

### Bug fixes

* Raise configuration errors to clarify what's wrong when "@type" is missing
  https://github.com/fluent/fluentd/pull/1202
* Fix the bug not to launch Fluentd when v0.12 MultiOutput plugin is configured
  https://github.com/fluent/fluentd/pull/1206

## Release v0.14.4 - 2016/08/31

### New features / Enhancement

* Add a method to Filter API to update time of events
  https://github.com/fluent/fluentd/pull/1140
* Improve performance of filter pipeline
  https://github.com/fluent/fluentd/pull/1145
* Fix to suppress not to warn about different plugins for primary and secondary without any problems
  https://github.com/fluent/fluentd/pull/1153
* Add deprecated/obsoleted options to config_param to show removed/warned parameters
  https://github.com/fluent/fluentd/pull/1186
* in_forward: Add a feature source_hostname_key to inject source hostname into records
  https://github.com/fluent/fluentd/pull/807
* in_tail: Add a feature from_encoding to specify both encoding from and to
  https://github.com/fluent/fluentd/pull/1067
* filter_record_transformer: Fix to prevent overwriting reserved placeholder keys
  https://github.com/fluent/fluentd/pull/1176
* Migrate some built-in plugins into v0.14 API
  https://github.com/fluent/fluentd/pull/1149
  https://github.com/fluent/fluentd/pull/1151
* Update dependencies
  https://github.com/fluent/fluentd/pull/1193

### Bug fixes

* Fix to start/stop/restart Fluentd processes correctly on Windows environment
  https://github.com/fluent/fluentd/pull/1171
  https://github.com/fluent/fluentd/pull/1192
* Fix to handle Windows events correctly in winsvc.rb
  https://github.com/fluent/fluentd/pull/1155
  https://github.com/fluent/fluentd/pull/1170
* Fix not to continue to restart workers for configuration errors
  https://github.com/fluent/fluentd/pull/1183
* Fix output threads to start enqueue/flush buffers until plugins' start method ends
  https://github.com/fluent/fluentd/pull/1190
* Fix a bug not to set umask 0
  https://github.com/fluent/fluentd/pull/1152
* Fix resource leak on one-shot timers
  https://github.com/fluent/fluentd/pull/1178
* Fix to call plugin helper methods in configure
  https://github.com/fluent/fluentd/pull/1184
* Fix a bug to count event size
  https://github.com/fluent/fluentd/pull/1164/files
* Fix to require missed compat modules
  https://github.com/fluent/fluentd/pull/1168
* Fix to start properly for plugins under MultiOutput
  https://github.com/fluent/fluentd/pull/1167
* Fix test drivers to set class name into plugin instances
  https://github.com/fluent/fluentd/pull/1069
* Fix tests not to use mocks for Time (improve test stabilization)
  https://github.com/fluent/fluentd/pull/1194

## Release 0.14.3 - 2016/08/30

* Fix the dependency for ServerEngine 1.x

## Release 0.14.2 - 2016/08/09

### New features / Enhancement

* Fix to split large event stream into some/many chunks in buffers
  https://github.com/fluent/fluentd/pull/1062
* Add parser and filter support in compat_parameters plugin helper
  https://github.com/fluent/fluentd/pull/1079
* Add a RPC call to flush buffers and stop workers
  https://github.com/fluent/fluentd/pull/1134
* Update forward protocol to pass the number of events in a payload
  https://github.com/fluent/fluentd/pull/1137
* Improve performance of some built-in formatter plugins
  https://github.com/fluent/fluentd/pull/1082
  https://github.com/fluent/fluentd/pull/1086
* Migrate some built-in plugins and plugin util modules into v0.14 API
  https://github.com/fluent/fluentd/pull/1058
  https://github.com/fluent/fluentd/pull/1061
  https://github.com/fluent/fluentd/pull/1076
  https://github.com/fluent/fluentd/pull/1078
  https://github.com/fluent/fluentd/pull/1081
  https://github.com/fluent/fluentd/pull/1083
  https://github.com/fluent/fluentd/pull/1091
* Register RegExpParser as a parser plugin explicitly
  https://github.com/fluent/fluentd/pull/1094
* Add delimiter option to CSV parser
  https://github.com/fluent/fluentd/pull/1108
* Add an option to receive longer udp syslog messages
  https://github.com/fluent/fluentd/pull/1127
* Add a option to suspend internal status in dummy plugin
  https://github.com/fluent/fluentd/pull/900
* Add a feature to capture filtered records in test driver for Filter plugins
  https://github.com/fluent/fluentd/pull/1077
* Add some utility methods to plugin test drivers
  https://github.com/fluent/fluentd/pull/1114

### Bug fixes

* Fix bug to read non buffer-chunk files as buffer chunks when Fluentd resumed
  https://github.com/fluent/fluentd/pull/1124
* Fix bug not to load Filter plugins which are specified in configurations
  https://github.com/fluent/fluentd/pull/1118
* Fix bug to ignore `-p` option to specify directories of plugins
  https://github.com/fluent/fluentd/pull/1133
* Fix bug to overwrite base class configuration section definitions by subclasses
  https://github.com/fluent/fluentd/pull/1119
* Fix to stop Fluentd worker process by Ctrl-C when --no-supervisor specified
  https://github.com/fluent/fluentd/pull/1089
* Fix regression about RPC call to reload configuration
  https://github.com/fluent/fluentd/pull/1093
* Specify to ensure Oj JSON parser to use strict mode
  https://github.com/fluent/fluentd/pull/1147
* Fix unexisting path handling in Windows environment
  https://github.com/fluent/fluentd/pull/1104

## Release 0.14.1 - 2016/06/30

### New features / Enhancement

* Add plugin helpers for parsers and formatters
  https://github.com/fluent/fluentd/pull/1023
* Extract some mixins into compat modules
  https://github.com/fluent/fluentd/pull/1044
  https://github.com/fluent/fluentd/pull/1052
* Add utility methods for tests and test drivers
  https://github.com/fluent/fluentd/pull/1047
* Migrate some built-in plugins to v0.14 APIs
  https://github.com/fluent/fluentd/pull/1049
  https://github.com/fluent/fluentd/pull/1057
  https://github.com/fluent/fluentd/pull/1060
  https://github.com/fluent/fluentd/pull/1064
* Add support of X-Forwarded-For header in in_http plugin
  https://github.com/fluent/fluentd/pull/1051
* Warn not to create too many staged chunks at configure
  https://github.com/fluent/fluentd/pull/1054
* Add a plugin helper to inject tag/time/hostname
  https://github.com/fluent/fluentd/pull/1063

### Bug fixes

* Fix in_monitor_agent for v0.14 plugins
  https://github.com/fluent/fluentd/pull/1003
* Fix to call #format_stream of plugins themselves when RecordFilter mixin included
  https://github.com/fluent/fluentd/pull/1005
* Fix shutdown sequence to wait force flush
  https://github.com/fluent/fluentd/pull/1009
* Fix a deadlock bug in shutdown
  https://github.com/fluent/fluentd/pull/1010
* Fix to require DetachProcessMixin in default for compat plugins
  https://github.com/fluent/fluentd/pull/1014
* Fix to overwrite configure_proxy name only for root sections for debugging
  https://github.com/fluent/fluentd/pull/1015
* Rename file for in_unix plugin
  https://github.com/fluent/fluentd/pull/1017
* Fix a bug not to create pid file when daemonized
  https://github.com/fluent/fluentd/pull/1021
* Fix wrong DEFAULT_PLUGIN_PATH
  https://github.com/fluent/fluentd/pull/1028
* Fix a bug not to use primary plugin type for secondary in default
  https://github.com/fluent/fluentd/pull/1032
* Add --run-worker option to distinguish to run as worker without supervisor
  https://github.com/fluent/fluentd/pull/1033
* Fix regression of fluent-debug command
  https://github.com/fluent/fluentd/pull/1046
* Update windows-pr dependency to 1.2.5
  https://github.com/fluent/fluentd/pull/1065
* Fix supervisor to pass RUBYOPT to worker processes
  https://github.com/fluent/fluentd/pull/1066

## Release 0.14.0 - 2016/05/25

### New features / Enhancement

This list includes changes of 0.14.0.pre.1 and release candidates.

* Update supported Ruby version to 2.1 or later
  https://github.com/fluent/fluentd/pull/692
* Sub-second event time support
  https://github.com/fluent/fluentd/pull/653
* Windows support and supervisor improvement
  https://github.com/fluent/fluentd/pull/674
  https://github.com/fluent/fluentd/pull/831
  https://github.com/fluent/fluentd/pull/880
* Add New plugin API
  https://github.com/fluent/fluentd/pull/800
  https://github.com/fluent/fluentd/pull/843
  https://github.com/fluent/fluentd/pull/866
  https://github.com/fluent/fluentd/pull/905
  https://github.com/fluent/fluentd/pull/906
  https://github.com/fluent/fluentd/pull/917
  https://github.com/fluent/fluentd/pull/928
  https://github.com/fluent/fluentd/pull/943
  https://github.com/fluent/fluentd/pull/964
  https://github.com/fluent/fluentd/pull/965
  https://github.com/fluent/fluentd/pull/972
  https://github.com/fluent/fluentd/pull/983
* Add standard chunking format
  https://github.com/fluent/fluentd/pull/914
* Add Compatibility layer for v0.12 plugins
  https://github.com/fluent/fluentd/pull/912
  https://github.com/fluent/fluentd/pull/969
  https://github.com/fluent/fluentd/pull/974
  https://github.com/fluent/fluentd/pull/992
  https://github.com/fluent/fluentd/pull/999
* Add Plugin Storage API
  https://github.com/fluent/fluentd/pull/864
  https://github.com/fluent/fluentd/pull/910
* Enforce to use router.emit instead of Engine.emit
  https://github.com/fluent/fluentd/pull/883
* log: Show plugin name and id in logs
  https://github.com/fluent/fluentd/pull/860
* log: Dump configurations with v1 syntax in logs
  https://github.com/fluent/fluentd/pull/867
* log: Dump errors with class in logs
  https://github.com/fluent/fluentd/pull/899
* config: Add simplified syntax for configuration values of hash and array
  https://github.com/fluent/fluentd/pull/875
* config: Add 'init' option to config_section to initialize section objects
  https://github.com/fluent/fluentd/pull/877
* config: Support multiline string in quoted strings
  https://github.com/fluent/fluentd/pull/929
* config: Add optional arguments on Element#elements to select child elements
  https://github.com/fluent/fluentd/pull/948
* config: Show deprecated warnings for reserved parameters
  https://github.com/fluent/fluentd/pull/971
* config: Make the detach process forward interval configurable
  https://github.com/fluent/fluentd/pull/982
* in_tail: Add 'path_key' option to inject tailing path
  https://github.com/fluent/fluentd/pull/951
* Remove in_status plugin
  https://github.com/fluent/fluentd/pull/690

### Bug fixes

* config: Enum list must be of symbols
  https://github.com/fluent/fluentd/pull/821
* config: Fix to dup values in default
  https://github.com/fluent/fluentd/pull/827
* config: Fix problems about overwriting subsections
  https://github.com/fluent/fluentd/pull/844
  https://github.com/fluent/fluentd/pull/981
* log: Serialize Fluent::EventTime as Integer in JSON
  https://github.com/fluent/fluentd/pull/904
* out_forward: Add missing error class and tests for it
  https://github.com/fluent/fluentd/pull/922

### Internal fix / Refactoring

* Fix dependencies between files
  https://github.com/fluent/fluentd/pull/799
  https://github.com/fluent/fluentd/pull/808
  https://github.com/fluent/fluentd/pull/823
  https://github.com/fluent/fluentd/pull/824
  https://github.com/fluent/fluentd/pull/825
  https://github.com/fluent/fluentd/pull/826
  https://github.com/fluent/fluentd/pull/828
  https://github.com/fluent/fluentd/pull/859
  https://github.com/fluent/fluentd/pull/892
* Separate PluginId from config
  https://github.com/fluent/fluentd/pull/832
* Separate MessagePack factory from Engine
  https://github.com/fluent/fluentd/pull/871
* Register plugins to registry
  https://github.com/fluent/fluentd/pull/838
* Move TypeConverter mixin to mixin.rb
  https://github.com/fluent/fluentd/pull/842
* Override default configurations by `<system>`
  https://github.com/fluent/fluentd/pull/854
* Suppress Ruby level warnings
  https://github.com/fluent/fluentd/pull/846
  https://github.com/fluent/fluentd/pull/852
  https://github.com/fluent/fluentd/pull/890
  https://github.com/fluent/fluentd/pull/946
  https://github.com/fluent/fluentd/pull/955
  https://github.com/fluent/fluentd/pull/966

See https://github.com/fluent/fluentd/blob/v0.12/CHANGELOG.md for v0.12 changelog


================================================
FILE: CONTRIBUTING.md
================================================
# Contributing to Fluentd

We'd love your contribution. Here are the guidelines!

## Got a question or problem?

RESOURCES of [Official site](https://www.fluentd.org/) and [Fluentd documentation](https://docs.fluentd.org/) may help you.

If you have further questions about Fluentd and plugins, please direct these to [Community Forum](https://github.com/fluent/fluentd/discussions).
Don't use Github issue for asking questions. Here are examples:

- I installed xxx plugin but it doesn't work. Why?
- Fluentd starts but logs are not sent to xxx. Am I wrong?
- I want to do xxx. How to realize it with plugins?

We may close such questions to keep clear repository for developers and users.
Github issue is mainly for submitting a bug report or feature request. See below.

If you can't judge your case is a bug or not, use community forum or slack first.

## Found a bug?

If you find a bug of Fluentd or a mistake in the documentation, you can help us by
submitting an issue to Fluentd. Even better you can submit a Pull Request with a fix.

* **Fluentd**: Use [fluentd](https://github.com/fluent/fluentd) repository. Fill issue template.
* **Documentation**: Use [fluentd documentation](https://github.com/fluent/fluentd-docs-gitbook) repository.

If you find a bug of 3rd party plugins, please submit an issue to each plugin repository.
And use [fluent-package-builder](https://github.com/fluent/fluent-package-builder) repository for td-agent related issues.

Note: Before report the issue, check latest version first. Sometimes users report fixed bug with older version.

## Patch Guidelines

Here are some things that would increase a chance that your patch is accepted:

* Write tests.
* Run tests before send Pull Request by `bundle exec rake test`
* Write a [good commit message](https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html).
  * Fluentd repositories needs [DCO](https://github.com/apps/dco) on PR. Please add `Signed-off-by` to the commit(See DCO link for more detail).

There are some patches which are hard to write tests, e.g. process handling, concurrency issue or etc.
In such case, please don't hesitate to submit a Pull Request.
We can discuss how to manage a patch on Pull Request :)


================================================
FILE: GOVERNANCE.md
================================================
# Fluentd Governance

## Principles

The Fluentd community adheres to the following principles:

- Open: Fluentd is open source. See repository guidelines and CLA, below.
- Welcoming and respectful: See Code of Conduct, below.
- Transparent and accessible: Work and collaboration are done in public.
- Merit: Ideas and contributions are accepted according to their technical merit and alignment with project objectives, scope, and design principles.

## Voting

The Fluentd project employs "organization voting" to ensure no single organization can dominate the project.

Individuals not associated with or employed by a company or organization are allowed one organization vote. Each company or organization (regardless of the number of maintainers associated with or employed by that company/organization) receives one organization vote.

In other words, if two maintainers are employed by Company X, two by Company Y, two by Company Z, and one maintainer is an un-affiliated individual, a total of four "organization votes" are possible; one for X, one for Y, one for Z, and one for the un-affiliated individual.

Any maintainer from an organization may cast the vote for that organization.

For formal votes, a specific statement of what is being voted on should be added to the relevant github issue or PR, and a link to that issue or PR added to the maintainers meeting agenda document. Maintainers should indicate their yes/no vote on that issue or PR, and after a suitable period of time, the votes will be tallied and the outcome noted.

## Changes in Maintainership

New maintainers are proposed by an existing maintainer and are elected by a 2/3 majority organization vote.

Maintainers can be removed by a 2/3 majority organization vote.

## Github Project Administration

Maintainers will be added to the __fluent__ GitHub organization and added to the GitHub cni-maintainers team, and made a GitHub maintainer of that team.

After 6 months a maintainer will be made an "owner" of the GitHub organization.

## Projects

The fluent organization is open to receive new sub-projects under it umbrella. To apply a project as part of the __fluent__ organization, it has to met the following criteria:

- Licensed under the terms of the Apache License v2.0
- Project has been active for at least one year since it inception
- More than 2 contributors
- Related to one or more scopes of Fluentd ecosystem:
  - Data collection
  - Log management
  - Metering
- Be supported by 2/3 majority of organization

The submission process starts as a Pull Request on Fluentd repository with the required information mentioned above. Once a project is accepted, it's considered a __CNCF sub-project under the umbrella of Fluentd__

## Code of Conduct

Fluentd follows the CNCF Code of Conduct:

https://github.com/cncf/foundation/blob/master/code-of-conduct.md


================================================
FILE: Gemfile
================================================
source 'https://rubygems.org/'

gemspec

gem 'benchmark'

local_gemfile = File.join(File.dirname(__FILE__), "Gemfile.local")
if File.exist?(local_gemfile)
  puts "Loading Gemfile.local ..." if $DEBUG # `ruby -d` or `bundle -v`
  instance_eval File.read(local_gemfile)
end


================================================
FILE: GithubWorkflow.md
================================================
# Github workflow for contributing to fluentd

Table of Contents

* [Fork a repository](#fork-a-repository)
* [Clone fork repository to local](#clone-fork-repository-to-local)
* [Create a branch to add a new feature or fix issues](#create-a-branch-to-add-a-new-feature-or-fix-issues)
* [Commit and Push](#commit-and-push)
* [Create a Pull Request](#create-a-pull-request)


The [fluentd](https://github.com/fluent/fluentd.git) code is hosted on Github (https://github.com/fluent/fluentd). The repository is called `upstream`. Contributors will develop and commit their changes in a clone of upstream repository. Then contributors push their change to their forked repository (`origin`) and create a Pull Request (PR), the PR will be merged to `upstream` repository if it meets the all the necessary requirements.		

## Fork a repository

 Go to https://github.com/fluent/fluentd then hit the `Fork` button to fork your own copy of repository **fluentd** to your github account.

## Clone the forked repository to local

Clone the forked repo in [above step](#fork-a-repository) to your local working directory:
```sh
$ git clone https://github.com/$your_github_account/fluentd.git   
```

Keep your fork in sync with the main repo, add an `upstream` remote:
```sh
$ cd fluentd
$ git remote add upstream https://github.com/fluentd/fluentd.git
$ git remote -v

origin  https://github.com/$your_github_account/fluentd.git (fetch)
origin  https://github.com/$your_github_account/fluentd.git (push)
upstream        https://github.com/fluentd/fluentd.git (fetch)
upstream        https://github.com/fluentd/fluentd.git (push)
```

Sync your local `master` branch:
```sh
$ git checkout master
$ git pull origin master
$ git fetch upstream
$ git rebase upstream/master
```

## Create a branch to add a new feature or fix issues

Before making any change, create a new branch:
```sh
$ git checkout master
$ git pull upstream master
$ git checkout -b new-feature
```

## Commit and Push

Make any change on the branch `new-feature`  then build and test your codes.  
Include in what will be committed:
```sh
$ git add <file>
```

Commit your changes with `sign-offs`
```sh
$ git commit -s
```

Enter your commit message to describe the changes. See the tips for a good commit message at [here](https://chris.beams.io/posts/git-commit/).  
Likely you go back and edit/build/test some more then `git commit --amend`  

Push your branch `new-feature` to your forked repository:
```sh
$ git push -u origin new-feature
```

## Create a Pull Request

* Go to your fork at https://github.com/$your_github_account/fluentd
* Create a Pull Request from the branch you recently pushed by hitting the button `Compare & pull request` next to branch name.


================================================
FILE: LICENSE
================================================

                                 Apache License
                           Version 2.0, January 2004
                        http://www.apache.org/licenses/

   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

   1. Definitions.

      "License" shall mean the terms and conditions for use, reproduction,
      and distribution as defined by Sections 1 through 9 of this document.

      "Licensor" shall mean the copyright owner or entity authorized by
      the copyright owner that is granting the License.

      "Legal Entity" shall mean the union of the acting entity and all
      other entities that control, are controlled by, or are under common
      control with that entity. For the purposes of this definition,
      "control" means (i) the power, direct or indirect, to cause the
      direction or management of such entity, whether by contract or
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
      outstanding shares, or (iii) beneficial ownership of such entity.

      "You" (or "Your") shall mean an individual or Legal Entity
      exercising permissions granted by this License.

      "Source" form shall mean the preferred form for making modifications,
      including but not limited to software source code, documentation
      source, and configuration files.

      "Object" form shall mean any form resulting from mechanical
      transformation or translation of a Source form, including but
      not limited to compiled object code, generated documentation,
      and conversions to other media types.

      "Work" shall mean the work of authorship, whether in Source or
      Object form, made available under the License, as indicated by a
      copyright notice that is included in or attached to the work
      (an example is provided in the Appendix below).

      "Derivative Works" shall mean any work, whether in Source or Object
      form, that is based on (or derived from) the Work and for which the
      editorial revisions, annotations, elaborations, or other modifications
      represent, as a whole, an original work of authorship. For the purposes
      of this License, Derivative Works shall not include works that remain
      separable from, or merely link (or bind by name) to the interfaces of,
      the Work and Derivative Works thereof.

      "Contribution" shall mean any work of authorship, including
      the original version of the Work and any modifications or additions
      to that Work or Derivative Works thereof, that is intentionally
      submitted to Licensor for inclusion in the Work by the copyright owner
      or by an individual or Legal Entity authorized to submit on behalf of
      the copyright owner. For the purposes of this definition, "submitted"
      means any form of electronic, verbal, or written communication sent
      to the Licensor or its representatives, including but not limited to
      communication on electronic mailing lists, source code control systems,
      and issue tracking systems that are managed by, or on behalf of, the
      Licensor for the purpose of discussing and improving the Work, but
      excluding communication that is conspicuously marked or otherwise
      designated in writing by the copyright owner as "Not a Contribution."

      "Contributor" shall mean Licensor and any individual or Legal Entity
      on behalf of whom a Contribution has been received by Licensor and
      subsequently incorporated within the Work.

   2. Grant of Copyright License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      copyright license to reproduce, prepare Derivative Works of,
      publicly display, publicly perform, sublicense, and distribute the
      Work and such Derivative Works in Source or Object form.

   3. Grant of Patent License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      (except as stated in this section) patent license to make, have made,
      use, offer to sell, sell, import, and otherwise transfer the Work,
      where such license applies only to those patent claims licensable
      by such Contributor that are necessarily infringed by their
      Contribution(s) alone or by combination of their Contribution(s)
      with the Work to which such Contribution(s) was submitted. If You
      institute patent litigation against any entity (including a
      cross-claim or counterclaim in a lawsuit) alleging that the Work
      or a Contribution incorporated within the Work constitutes direct
      or contributory patent infringement, then any patent licenses
      granted to You under this License for that Work shall terminate
      as of the date such litigation is filed.

   4. Redistribution. You may reproduce and distribute copies of the
      Work or Derivative Works thereof in any medium, with or without
      modifications, and in Source or Object form, provided that You
      meet the following conditions:

      (a) You must give any other recipients of the Work or
          Derivative Works a copy of this License; and

      (b) You must cause any modified files to carry prominent notices
          stating that You changed the files; and

      (c) You must retain, in the Source form of any Derivative Works
          that You distribute, all copyright, patent, trademark, and
          attribution notices from the Source form of the Work,
          excluding those notices that do not pertain to any part of
          the Derivative Works; and

      (d) If the Work includes a "NOTICE" text file as part of its
          distribution, then any Derivative Works that You distribute must
          include a readable copy of the attribution notices contained
          within such NOTICE file, excluding those notices that do not
          pertain to any part of the Derivative Works, in at least one
          of the following places: within a NOTICE text file distributed
          as part of the Derivative Works; within the Source form or
          documentation, if provided along with the Derivative Works; or,
          within a display generated by the Derivative Works, if and
          wherever such third-party notices normally appear. The contents
          of the NOTICE file are for informational purposes only and
          do not modify the License. You may add Your own attribution
          notices within Derivative Works that You distribute, alongside
          or as an addendum to the NOTICE text from the Work, provided
          that such additional attribution notices cannot be construed
          as modifying the License.

      You may add Your own copyright statement to Your modifications and
      may provide additional or different license terms and conditions
      for use, reproduction, or distribution of Your modifications, or
      for any such Derivative Works as a whole, provided Your use,
      reproduction, and distribution of the Work otherwise complies with
      the conditions stated in this License.

   5. Submission of Contributions. Unless You explicitly state otherwise,
      any Contribution intentionally submitted for inclusion in the Work
      by You to the Licensor shall be under the terms and conditions of
      this License, without any additional terms or conditions.
      Notwithstanding the above, nothing herein shall supersede or modify
      the terms of any separate license agreement you may have executed
      with Licensor regarding such Contributions.

   6. Trademarks. This License does not grant permission to use the trade
      names, trademarks, service marks, or product names of the Licensor,
      except as required for reasonable and customary use in describing the
      origin of the Work and reproducing the content of the NOTICE file.

   7. Disclaimer of Warranty. Unless required by applicable law or
      agreed to in writing, Licensor provides the Work (and each
      Contributor provides its Contributions) on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
      implied, including, without limitation, any warranties or conditions
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
      PARTICULAR PURPOSE. You are solely responsible for determining the
      appropriateness of using or redistributing the Work and assume any
      risks associated with Your exercise of permissions under this License.

   8. Limitation of Liability. In no event and under no legal theory,
      whether in tort (including negligence), contract, or otherwise,
      unless required by applicable law (such as deliberate and grossly
      negligent acts) or agreed to in writing, shall any Contributor be
      liable to You for damages, including any direct, indirect, special,
      incidental, or consequential damages of any character arising as a
      result of this License or out of the use or inability to use the
      Work (including but not limited to damages for loss of goodwill,
      work stoppage, computer failure or malfunction, or any and all
      other commercial damages or losses), even if such Contributor
      has been advised of the possibility of such damages.

   9. Accepting Warranty or Additional Liability. While redistributing
      the Work or Derivative Works thereof, You may choose to offer,
      and charge a fee for, acceptance of support, warranty, indemnity,
      or other liability obligations and/or rights consistent with this
      License. However, in accepting such obligations, You may act only
      on Your own behalf and on Your sole responsibility, not on behalf
      of any other Contributor, and only if You agree to indemnify,
      defend, and hold each Contributor harmless for any liability
      incurred by, or claims asserted against, such Contributor by reason
      of your accepting any such warranty or additional liability.

   END OF TERMS AND CONDITIONS

   APPENDIX: How to apply the Apache License to your work.

      To apply the Apache License to your work, attach the following
      boilerplate notice, with the fields enclosed by brackets "[]"
      replaced with your own identifying information. (Don't include
      the brackets!)  The text should be enclosed in the appropriate
      comment syntax for the file format. We also recommend that a
      file or class name and description of purpose be included on the
      same "printed page" as the copyright notice for easier
      identification within third-party archives.

   Copyright 2011-2018 Fluentd Authors

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.


================================================
FILE: MAINTAINERS.md
================================================
# Fluentd Maintainers

- [Naotoshi Seo](https://github.com/sonots), [ZOZO Technologies](https://tech.zozo.com/en/)
- [Okkez](https://github.com/okkez)
- [Hiroshi Hatake](https://github.com/cosmo0920), [Chronosphere](https://chronosphere.io/)
- [Masahiro Nakagawa](https://github.com/repeatedly)
- [Satoshi Tagomori](https://github.com/tagomoris)
- [Toru Takahashi](https://github.com/toru-takahashi), [Treasure Data](https://www.treasuredata.com/)
- [Eduardo Silva](https://github.com/edsiper), [Chronosphere](https://chronosphere.io/)
- [Fujimoto Seiji](https://github.com/fujimots)
- [Takuro Ashie](https://github.com/ashie), [ClearCode](https://www.clear-code.com/)
- [Kentaro Hayashi](https://github.com/kenhys), [ClearCode](https://www.clear-code.com/)
- [Daijiro Fukuda](https://github.com/daipom), [ClearCode](https://www.clear-code.com/)

## Sub Projects: Fluent Bit

Fluent Bit maintainers list can be found here:

- https://github.com/fluent/fluent-bit/blob/master/MAINTAINERS.md


================================================
FILE: README.md
================================================
Fluentd: Open-Source Log Collector
===================================

[![Test](https://github.com/fluent/fluentd/actions/workflows/test.yml/badge.svg)](https://github.com/fluent/fluentd/actions/workflows/test.yml)
[![Test with Ruby head](https://github.com/fluent/fluentd/actions/workflows/test-ruby-head.yml/badge.svg)](https://github.com/fluent/fluentd/actions/workflows/test-ruby-head.yml)
[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/1189/badge)](https://bestpractices.coreinfrastructure.org/projects/1189)
[![OpenSSF Scorecard](https://api.scorecard.dev/projects/github.com/fluent/fluentd/badge)](https://scorecard.dev/viewer/?uri=github.com/fluent/fluentd)

[Fluentd](https://www.fluentd.org/) collects events from various data sources and writes them to files, RDBMS, NoSQL, IaaS, SaaS, Hadoop and so on. Fluentd helps you unify your logging infrastructure (Learn more about the [Unified Logging Layer](https://www.fluentd.org/blog/unified-logging-layer)).

<p align="center">
<img src="https://www.fluentd.org/images/fluentd-architecture.png" width="500px"/>
</p>

## Quick Start

    $ gem install fluentd
    $ fluentd -s conf
    $ fluentd -c conf/fluent.conf &
    $ echo '{"json":"message"}' | fluent-cat debug.test

## Development

### Branch

- master: For v1 development.
- v0.12: For v0.12. This is deprecated version. we already stopped supporting (See https://www.fluentd.org/blog/drop-schedule-announcement-in-2019).

### Prerequisites

- Ruby 3.2 or later
- git

`git` should be in `PATH`. On Windows, you can use `Github for Windows` and `GitShell` for easy setup.

### Install dependent gems

Use bundler:

    $ gem install bundler
    $ bundle install --path vendor/bundle

### Run test

    $ bundle exec rake test

You can run specified test via `TEST` environment variable:

    $ bundle exec rake test TEST=test/test_specified_path.rb
    $ bundle exec rake test TEST=test/test_*.rb

## More Information

- Website: https://www.fluentd.org/
- Documentation: https://docs.fluentd.org/
- Project repository: https://github.com/fluent
- Discussion: https://github.com/fluent/fluentd/discussions
- Slack / Community: https://slack.fluentd.org
- Newsletters: https://www.fluentd.org/newsletter
- Author: [Sadayuki Furuhashi](https://github.com/frsyuki)
- Copyright: 2011-2021 Fluentd Authors
- License: Apache License, Version 2.0

## Security

A third party security audit was performed by Cure53, you can see the full report [here](docs/SECURITY_AUDIT.pdf).

See [SECURITY](SECURITY.md) to contact us about vulnerability.

## Contributors:

Patches contributed by [great developers](https://github.com/fluent/fluentd/contributors).


================================================
FILE: Rakefile
================================================
#!/usr/bin/env rake
require "bundler/gem_tasks"

require 'fileutils'
require 'rake/testtask'
require 'rake/clean'

require_relative 'tasks/benchmark'
require_relative 'tasks/backport'

task test: [:base_test]

# 1. update ChangeLog and lib/fluent/version.rb
# 2. bundle && bundle exec rake build:all
# 3. release 3 packages built on pkg/ directory
namespace :build do
  desc 'Build gems for all platforms'
  task :all do
    Bundler.with_original_env do
      %w[ruby x86-mingw32 x64-mingw32 x64-mingw-ucrt].each do |name|
        ENV['GEM_BUILD_FAKE_PLATFORM'] = name
        Rake::Task["build"].execute
      end
    end
  end
end

desc 'Run test_unit based test'
Rake::TestTask.new(:base_test) do |t|
  # To run test with dumping all test case names (to find never ending test case)
  #  $ bundle exec rake test TESTOPTS=-v
  #
  # To run test for only one file (or file path pattern)
  #  $ bundle exec rake base_test TEST=test/test_specified_path.rb
  #  $ bundle exec rake base_test TEST=test/test_*.rb
  t.libs << "test"
  t.test_files = if ENV["WIN_RAPID"]
                   ["test/test_event.rb", "test/test_supervisor.rb", "test/plugin_helper/test_event_loop.rb"]
                 else
                   tests = Dir["test/**/test_*.rb"].sort
                   if Process.uid.zero?
                     puts "test_file_util.rb for non-root user env. Disable this test on root environment"
                     tests.delete("test/plugin/test_file_util.rb")
                   end
                   tests
                 end
  t.verbose = true
  t.warning = true
  t.ruby_opts = ["-Eascii-8bit:ascii-8bit"]
end

task :parallel_test do
  FileUtils.rm_rf('./test/tmp')
  sh("parallel_test ./test/*.rb ./test/plugin/*.rb")
  FileUtils.rm_rf('./test/tmp')
end

desc 'Run test with simplecov'
task :coverage do |t|
  ENV['SIMPLE_COV'] = '1'
  Rake::Task["test"].invoke
end

desc 'Build Coverity tarball & upload it'
task :coverity do
  # https://scan.coverity.com/projects/fluentd?tab=overview
  # See "View Defects" after sign-in.
  #
  # Setup steps:
  # 1. get coverity build tool and set PATH to bin/: https://scan.coverity.com/download
  # 2. set environment variables:
  #    * $COVERITY_USER (your email address)
  #    * $COVERITY_TOKEN (token for Fluentd project: https://scan.coverity.com/projects/fluentd?tab=project_settings)
  sh "cov-build --dir cov-int --no-command --fs-capture-search ./"
  sh "tar czf cov-fluentd.tar.gz cov-int"
  user = ENV['COVERITY_USER']
  token = ENV['COVERITY_TOKEN']
  sh "curl --form token=#{token} --form email=#{user} --form file=@cov-fluentd.tar.gz --form version=\"Master\" --form description=\"GIT Master\" https://scan.coverity.com/builds?project=Fluentd"
  FileUtils.rm_rf(['./cov-int', 'cov-fluentd.tar.gz'])
end

task :check_env do
  unless ENV['GEM_HOST_API_KEY']
    abort "Missing required environment variable: GEM_HOST_API_KEY\nSee https://guides.rubygems.org/api-key-scopes/"
  end
end
Rake::Task["release:rubygem_push"].enhance(["check_env"])

task default: [:test, :build]


================================================
FILE: SECURITY.md
================================================
# Security Policy

## Supported Versions

|  Version  |     Supported      |
|-----------|--------------------|
| 1.19.x    | :white_check_mark: |
| 1.18.x    | :x:                |
| 1.17.x    | :x:                |
| 1.16.x    | :white_check_mark: |
| <= 1.15.x | :x:                |

## Reporting a Vulnerability

Please post your vulnerability report from the following page:
https://github.com/fluent/fluentd/security/advisories

> [!CAUTION]
> In above contact form, we accept about **ONLY** Fluentd's vulnerability, in contrast, **REJECT** your vulnerability report about Fluentd derivative products such as fluent-package, Fluentd container images and Fluentd kubernetes deamonset images and so on. There are appropriate contact forms for every these derivative products. See the following notice.

> [!NOTE]
> If you use fluent-package, please check [fluent-package-builder](https://github.com/fluent/fluent-package-builder/blob/master/SECURITY.md) and report it there.

> [!NOTE]
> If you use a Docker image of Fluentd, please check [Fluentd Docker Image](https://github.com/fluent/fluentd-docker-image/blob/master/SECURITY.md) and report it there.


================================================
FILE: bin/fluent-binlog-reader
================================================
#!/usr/bin/env ruby
# -*- coding: utf-8 -*-
here = File.dirname(__FILE__)
$LOAD_PATH << File.expand_path(File.join(here, '..', 'lib'))
require 'fluent/command/binlog_reader'

FluentBinlogReader.new.call


================================================
FILE: bin/fluent-ca-generate
================================================
#!/usr/bin/env ruby

$LOAD_PATH.unshift(File.join(__dir__, 'lib'))
require 'fluent/command/ca_generate'

Fluent::CaGenerate.new.call


================================================
FILE: bin/fluent-cap-ctl
================================================
#!/usr/bin/env ruby
# -*- coding: utf-8 -*-
here = File.dirname(__FILE__)
$LOAD_PATH << File.expand_path(File.join(here, '..', 'lib'))
require 'fluent/command/cap_ctl'

Fluent::CapCtl.new.call

================================================
FILE: bin/fluent-ctl
================================================
#!/usr/bin/env ruby

here = File.dirname(__FILE__)
$LOAD_PATH << File.expand_path(File.join(here, '..', 'lib'))
require 'fluent/command/ctl'

Fluent::Ctl.new.call


================================================
FILE: bin/fluent-debug
================================================
#!/usr/bin/env ruby
# -*- coding: utf-8 -*-
here = File.dirname(__FILE__)
$LOAD_PATH << File.expand_path(File.join(here, '..', 'lib'))
require 'fluent/command/debug'


================================================
FILE: bin/fluent-plugin-config-format
================================================
#!/usr/bin/env ruby
$LOAD_PATH.unshift(File.join(__dir__, 'lib'))
require 'fluent/command/plugin_config_formatter'

FluentPluginConfigFormatter.new.call


================================================
FILE: bin/fluent-plugin-generate
================================================
#!/usr/bin/env ruby
$LOAD_PATH << File.expand_path(File.join(__dir__, '..', 'lib'))
require 'fluent/command/plugin_generator'

FluentPluginGenerator.new.call


================================================
FILE: code-of-conduct.md
================================================
## Fluentd Community Code of Conduct

Fluentd follows the [CNCF Code of Conduct](https://github.com/cncf/foundation/blob/master/code-of-conduct.md).


================================================
FILE: example/copy_roundrobin.conf
================================================
<source>
  @type  sample
  @label @test
  tag    test.copy
  auto_increment_key id
</source>

<source>
  @type sample
  @label @test
  tag    test.rr
  auto_increment_key id
</source>

<label @test>
  <match test.copy>
    @type copy
    <store>
      @type stdout
      output_type json
    </store>
    <store>
      @type stdout
      output_type ltsv
    </store>
  </match>

  <match test.rr>
    @type roundrobin
    <store>
      @type stdout
      output_type json
    </store>
    <store>
      @type stdout
      output_type ltsv
    </store>
  </match>
</label>


================================================
FILE: example/counter.conf
================================================
<system>
  <counter_server>
    scope server1
    bind 127.0.0.1
    port 24321
    backup_path tmp/back
  </counter_server>
</system>

<source>
  @type sample
  tag "test.data"
  auto_increment_key number
</source>

<match>
  @type stdout
</match>


================================================
FILE: example/filter_stdout.conf
================================================
<source>
  @type sample
  tag sample
</source>

<filter **>
  @type stdout
</filter>

<filter **>
  @type stdout
  output_type hash
</filter>

<filter **>
  @type stdout
  format ltsv
</filter>

<match **>
  @type null
</match>


================================================
FILE: example/in_forward.conf
================================================
<system>
  rpc_endpoint 0.0.0.0:24444
</system>

<source>
  @type forward
</source>

<match test>
  @type stdout
  # <buffer>
  #   flush_interval 10s
  # </buffer>
</match>


================================================
FILE: example/in_forward_client.conf
================================================
<system>
  rpc_endpoint 0.0.0.0:24444
</system>

<source>
  @type forward
  port 24224
  bind 0.0.0.0
  <security>
    self_hostname input.testing.local
    shared_key    secure_communication_is_awesome
    user_auth     yes
    allow_anonymous_source no
    <user>
      username user1
      password yes_this_is_user1
    </user>
    <user>
      username user2
      password yes_this_is_really_user2
    </user>
    <user>
      username user3
      password noooooo_this_may_not_be_user3
    </user>
    <client>
      # host  127.0.0.1
      network 127.0.0.0/24
      shared_key using_different_key_makes_us_secure
      users user1,user2
    </client>
  </security>
</source>

<match {test,test2,test3,test4}>
  @type stdout
</match>


================================================
FILE: example/in_forward_shared_key.conf
================================================
<system>
  rpc_endpoint 0.0.0.0:24444
</system>

<source>
  @type forward
  <security>
    self_hostname input.testing.local
    shared_key    secure_communication_is_awesome
  </security>
</source>

<match test>
  @type stdout
</match>


================================================
FILE: example/in_forward_tls.conf
================================================
<source>
  @type forward
  port 24224
  <transport tls>
    insecure true
  </transport>
</source>

<match test>
  @type stdout
  # <buffer>
  #   flush_interval 10s
  # </buffer>
</match>


================================================
FILE: example/in_forward_users.conf
================================================
<system>
  rpc_endpoint 0.0.0.0:24444
</system>

<source>
  @type forward
  <security>
    self_hostname input.testing.local
    shared_key    secure_communication_is_awesome
    user_auth     yes
    <user>
      username user1
      password yes_this_is_user1
    </user>
    <user>
      username user2
      password yes_this_is_really_user2
    </user>
  </security>
</source>

<match {test,test2,test3}>
  @type stdout
</match>


================================================
FILE: example/in_forward_workers.conf
================================================
<system>
  workers 3
  root_dir "#{File.join(Dir.pwd, 'test', 'tmp', 'root')}"
</system>

<source>
  @type forward
  @id forward_in_1
</source>

<match test>
  @type stdout
  @id stdout_out_1
  <inject>
    worker_id_key worker_id
  </inject>
  <buffer>
    @type file
    flush_interval 1s
  </buffer>
</match>


================================================
FILE: example/in_http.conf
================================================
<source>
  @type http
  bind 0.0.0.0
  port 9880
  body_size_limit 32MB
  keepalive_timeout 10
  # backlog 0
  add_http_headers false
  <parse>
    @type json
  </parse>
</source>

<match test>
  @type stdout
</match>


================================================
FILE: example/in_out_forward.conf
================================================
<source>
  @type forward
  port 24224
</source>

<match test.**>
  @type forward
  buffer_type file
  buffer_path /tmp/fluentd.forward.buffer
  num_threads 10
  flush_interval 1s
  <server>
    host 127.0.0.1
    port 24225
  </server>
</match>



================================================
FILE: example/in_sample_blocks.conf
================================================
<source>
  @type sample
  tag sample
  rate 100
  sample {"message":"yaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaay"}
</source>

<match sample>
  @type null
  never_flush true
  <buffer>
    @type memory
    overflow_action block
    chunk_limit_size 1k
    total_limit_size 2k
  </buffer>
</match>


================================================
FILE: example/in_sample_with_compression.conf
================================================
<source>
  @type sample
  @label @main
  tag "test.data"
  size 2
  rate 10
  sample {"message":"yaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaay"}
  auto_increment_key number
</source>

<label @main>
  <match test.data>
    @type stdout
    <buffer>
      @type file
      path "#{Dir.pwd}/compressed_buffers"
      flush_at_shutdown false
      chunk_limit_size 1m
      flush_interval 10s
      compress gzip
    </buffer>
  </match>
</label>


================================================
FILE: example/in_syslog.conf
================================================
<source>
  @type syslog
  bind 0.0.0.0
  port 5140
  tag test
  protocol_type udp
  include_source_host false
  source_host_key source_host
  # format ...
  # with_priority true
</source>

<match test>
  @type stdout
</match>


================================================
FILE: example/in_tail.conf
================================================
<source>
  @type tail
  format none
  path /var/log/fluentd_test.log
  pos_file /var/log/fluentd_test.pos
  tag test
  rotate_wait 5
  read_from_head true
  refresh_interval 60
</source>

<match test>
  @type stdout
</match>


================================================
FILE: example/in_tcp.conf
================================================
<source>
  @type tcp
  format none
  bind 0.0.0.0
  port 5170
  delimiter \n
  source_host_key "host"
  tag test
</source>

<match test>
  @type stdout
</match>


================================================
FILE: example/in_udp.conf
================================================
<source>
  @type udp
  format none
  bind 0.0.0.0
  port 5160
  body_size_limit 4KB
  source_host_key "host"
  tag test
</source>

<match test>
  @type stdout
</match>


================================================
FILE: example/logevents.conf
================================================
<source>
  @type sample
  @label @samplelog
  tag "data"
  sample {"message":"yay"}
</source>
<label @samplelog>
  <match **>
    @type stdout
  </match>
</label>
<label @FLUENT_LOG>
  <match fluent.debug fluent.info fluent.warn fluent.error fluent.fatal>
    @type stdout
    <inject>
      hostname_key "host"
    </inject>
  </match>
  # <match fluent.{info,warn,error,fatal}>
  #   @type stdout
  #   <inject>
  #     hostname_key "host"
  #   </inject>
  # </match>
</label>


================================================
FILE: example/multi_filters.conf
================================================
# This example is to measure optimized filter pipeline performance.

<source>
  @type sample
  tag   test
  size 1000
</source>

<filter test>
  @type grep
  exclude1 hello .
</filter>

<filter test>
  @type grep
  exclude1 hello .
</filter>

<filter test>
  @type grep
  exclude1 hello .
</filter>

<filter test>
  @type grep
  exclude1 hello .
</filter>

<filter test>
  @type grep
  exclude1 hello .
</filter>

<filter test>
  @type grep
  exclude1 hello .
</filter>

<filter test>
  @type grep
  exclude1 hello .
</filter>

<filter test>
  @type grep
  exclude1 hello .
</filter>

<filter test>
  @type grep
  exclude1 hello .
</filter>

<filter test>
  @type grep
  exclude1 hello .
</filter>

<match test>
  @type buffered_null
</match>


================================================
FILE: example/out_copy.conf
================================================
<source>
  @type forward
</source>

<match test>
  @type copy
  deep_copy false
  <store>
    @type stdout
  </store>
  <store>
    @type file
    path /var/log/fluentd/out_file_test
    format json
    buffer_type memory
    # compress gzip
    # symlink_path /path/to/symlink
    append false
  </store>
</match>


================================================
FILE: example/out_exec_filter.conf
================================================
<source>
  @type sample
  @label @exec
  tag exec_input
  rate 10
  auto_increment_key num
  sample {"data":"mydata"}
</source>

<label @exec>
  <match exec_input>
    @type exec_filter
    @label @stdout
    tag result
    command ruby -e 'STDOUT.sync = true; proc = ->(){line = STDIN.readline.chomp; puts line + "\t" + Process.pid.to_s}; 1000.times{ proc.call }'
    num_children 3
    child_respawn -1
    <inject>
      time_key time
      time_type float
    </inject>
    <format>
      @type tsv
      keys data, num, time
    </format>
    <parse>
      @type tsv
      keys data, num, time, pid
    </parse>
    <extract>
      time_key time
      time_type float
    </extract>
  </match>
</label>

<label @stdout>
  <match result>
    @type stdout
  </match>
</label>



================================================
FILE: example/out_file.conf
================================================
<source>
  @type forward
</source>

<match test>
  @type file
  path /var/log/fluentd/out_file_test
  format json
  buffer_type memory
  # compress gzip
  # symlink_path /path/to/symlink
  append false
</match>


================================================
FILE: example/out_forward.conf
================================================
<source>
  @type sample
  tag test
</source>

<match test>
  @type forward

  <server>
    # first server
    host 127.0.0.1
    port 24224
  </server>
  # <server>
  #   # second server
  #   host localhost
  #   port 24225
  # </server>
  # <server>
  #   # second server
  #   host localhost
  #   port 24226
  #   standby
  # </server>

  flush_interval 0
  send_timeout 60
  heartbeat_type udp
  heartbeat_interval 1
  recover_wait 10
  hard_timeout 60
  expire_dns_cache nil
  phi_threshold 16
  phi_failure_detector true
</match>


================================================
FILE: example/out_forward_buf_file.conf
================================================
<source>
    @type sample
    tag test
</source>

<source>
    @type monitor_agent
    emit_interval 5
</source>

<match test>
    @type forward
    buffer_path /tmp/fluentd.forward
    buffer_type file
    flush_interval 5
    send_timeout 60
    heartbeat_type tcp
    heartbeat_interval 1
    <server>
        host 127.0.0.1
        port 24224
    </server>
</match>


================================================
FILE: example/out_forward_client.conf
================================================
<source>
  @type sample
  tag test
</source>
<source>
  @type sample
  tag test2
</source>
<source>
  @type sample
  tag test3
</source>
<source>
  @type sample
  tag test4
</source>
<source>
  @type sample
  tag test5
</source>

<match test>
  @type forward
  flush_interval 0
  <security>
    self_hostname output.testing.local
    shared_key    secure_communication_is_awesome
  </security>
  <server>
    host 127.0.0.1
    port 24224
    username user1
    password yes_this_is_user1
    shared_key using_different_key_makes_us_secure
  </server>
</match>

<match test2>
  @type forward
  flush_interval 0
  <security>
    self_hostname output-alt1.testing.local
    shared_key    using_different_key_makes_us_secure
  </security>
  <server>
    host 127.0.0.1
    port 24224
    username user1
    password yes_this_is_user1
  </server>
  <server>
    host 127.0.0.1
    port 24224
    username user2
    password yes_this_is_really_user2
  </server>
</match>

<match test3>
  @type forward
  flush_interval 0
  <security>
    self_hostname output-fail1.testing.local
    # default key: fail
    shared_key    secure_communication_is_awesome
  </security>
  <server>
    host 127.0.0.1
    port 24224
    username user1
    password yes_this_is_user1
    # [warn]: Shared key mismatch address="127.0.0.1" hostname="output-fail1.testing.local"
  </server>
</match>

<match test4>
  @type forward
  flush_interval 0
  <security>
    self_hostname output-fail2.testing.local
    shared_key    using_different_key_makes_us_secure
  </security>
  <server>
    host 127.0.0.1
    port 24224
    username user3
    # user3 (user denied): fail
    password noooooo_this_may_not_be_user3
    # [warn]: Authentication failed address="127.0.0.1" hostname="output-fail2.testing.local" username="user3"
  </server>
</match>

<match test5>
  @type forward
  flush_interval 0
  <security>
    self_hostname output-fail3.testing.local
    shared_key    using_different_key_makes_us_secure
  </security>
  <server>
    # another ip (host rejected): fail
    # This pattern will work only with Ruby 2.3
    host "#{Socket.getifaddrs.select{|i| i.addr.ipv4? }.reject{|i| i.addr.ip_address == '127.0.0.1' }.first.addr.ip_address}"
    port 24224
    username user1
    password yes_this_is_user1
    # [warn]: Anonymous client disallowed address="192.168.1.75" hostname="output-fail3.testing.local"
  </server>
</match>


================================================
FILE: example/out_forward_heartbeat_none.conf
================================================
<source>
  @type sample
  tag test
</source>

<match test>
  @type forward
  heartbeat_type none
  <server>
    host 127.0.0.1
    port 24224
  </server>
  <buffer>
    flush_mode immediate
  </buffer>
</match>


================================================
FILE: example/out_forward_sd.conf
================================================
<source>
  @type sample
  tag test
</source>

<match test>
  @type forward

  <service_discovery>
    @type file
    path "#{Dir.pwd}/example/sd.yaml"
  </service_discovery>

  <buffer>
    flush_interval 1
  </buffer>
</match>


================================================
FILE: example/out_forward_shared_key.conf
================================================
<source>
  @type sample
  tag test
</source>
<source>
  @type sample
  tag test2
</source>

<match test>
  @type forward
  flush_interval 0
  <security>
    self_hostname output.testing.local
    shared_key    secure_communication_is_awesome
  </security>
  <server>
    host 127.0.0.1
    port 24224
  </server>
</match>

<match test2>
  @type forward
  flush_interval 0
  <security>
    self_hostname output-fail.testing.local
    shared_key    secure_communication_is_not_awesome
    # input plugin shows warning for wrong shared_key
    # 2016-08-08 16:27:00 +0900 [warn]: Shared key mismatch address="127.0.0.1" hostname="output-fail.testing.local"
  </security>
  <server>
    host 127.0.0.1
    port 24224
  </server>
</match>


================================================
FILE: example/out_forward_tls.conf
================================================
<source>
  @type sample
  tag test
</source>

<match test>
  @type forward
  transport tls
  tls_insecure_mode true
  <server>
    # first server
    host 127.0.0.1
    port 24224
  </server>
  <buffer>
    flush_interval 0
  </buffer>
</match>


================================================
FILE: example/out_forward_users.conf
================================================
<source>
  @type sample
  tag test
</source>
<source>
  @type sample
  tag test2
</source>
<source>
  @type sample
  tag test3
</source>

<match test>
  @type forward
  flush_interval 0
  <security>
    self_hostname output.testing.local
    shared_key    secure_communication_is_awesome
  </security>
  <server>
    host 127.0.0.1
    port 24224
    username user1
    password yes_this_is_user1
  </server>
</match>

<match test2>
  @type forward
  flush_interval 0
  <security>
    self_hostname output-alt1.testing.local
    shared_key    secure_communication_is_awesome
  </security>
  <server>
    host 127.0.0.1
    port 24224
    username user1
    password yes_this_is_user1
  </server>
  <server>
    host 127.0.0.1
    port 24224
    username user2
    password yes_this_is_really_user2
  </server>
</match>

<match test3>
  @type forward
  flush_interval 0
  <security>
    self_hostname output-fail.testing.local
    shared_key    secure_communication_is_awesome
  </security>
  <server>
    host 127.0.0.1
    port 24224
    username user3
    password no_there_are_not_such_user
    # input plugin warns authentication erro:
    # [warn]: Authentication failed address="127.0.0.1" hostname="output-fail.testing.local" username="user3"
  </server>
</match>


================================================
FILE: example/out_null.conf
================================================
#
# bundle exec bin/fluentd -c example/out_buffered_null.conf
#   (+ --emit-error-log-interval 10)
<source>
  @type sample
  tag sample
  rate 500000000
  sample [
    {"message": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"},
    {"message": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"},
    {"message": "ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc"}
  ]
</source>

<match sample.**>
  @type null
  <buffer>
    flush_interval 60s
    chunk_limit_size 1k
    total_limit_size 4k
  </buffer>
</match>

<label error_log>
  <match **>
    @type stdout
    # <buffer>
    #   flush_interval 1s
    # </buffer>
  </match>
</label>

<match fluent.**>
  @type relabel
  @label error_log
</match>


================================================
FILE: example/sd.yaml
================================================
- 'host': 127.0.0.1
  'port': 24224
  'weight': 1
  'name': server1
- 'host': 127.0.0.1
  'port': 24225
  'weight': 1
  'name': server2


================================================
FILE: example/secondary_file.conf
================================================
<system>
  rpc_endpoint 0.0.0.0:24444
</system>

<source>
  @type sample
  tag test
</source>

<source>
  @type forward
  @label @raw
</source>

<label @raw>
  <match>
    @type stdout
  </match>
</label>

<match test>
  @type forward

  <buffer time,tag,message>
    @type memory
    timekey 2s
    timekey_wait 1s
    flush_mode interval
    flush_interval 1s
  </buffer>

  <server>
    host 0.0.0.0
    port 24224
  </server>

  <secondary>
    @type secondary_file
    directory log/secondary/
    basename ${tag}_%Y%m%d%L_${message}
  </secondary>
</match>


================================================
FILE: example/suppress_config_dump.conf
================================================
<system>
  suppress_config_dump false
</system>

<match data.*>
  @type stdout
</match>


================================================
FILE: example/v0_12_filter.conf
================================================
# An example config to use filter plugins.
# THIS FEATURE IS SUPPORTED FOR v0.12 AND ABOVE.

# in_forward to generate events to be tested.
# You can send an arbitrary event with an arbitrary tag.
# For example, the following command creates the event
# {"message":"hello world"} with tag = foo
#
# $ echo '{"message":"hello world"}' | fluent-cat foo

<source>
  @type forward
  port 24224
</source>

# For all events with the tag "foo", filter it out
# UNLESS the value of the "message" field matches /keep this/
#
# - {"message":"keep this please"} is kept.
# - {"message":"Do not keep"} is filtered out.
# - {"messag22":"keep this please"} is filtered out.

<filter foo>
  @type grep
  regexp1  message keep this
</filter>

# Matches the events that was kept by the above filter
<match foo>
  @type stdout
</match>

# For all events with the tag "bar", add the machine's hostname with
# the key "hostname" BEFORE forwarding to another instance of Fluentd
# at 123.4.2.4:24224.

<filter bar>
  @type record_transformer
  <record>
    hostname ${hostname}
  </record>
</filter>

# By the time it is getting matched here, the event has
# the "hostname" field.
<match bar>
  @type forward
  <server>
    host 123.4.2.4
    port 24225
  </server>
</match>

# Composing two filters. For all events with the tag foo.bar,
#
# 1. The first filter filters out all events that has the field "hello"
# 2. Then, for those events, we downcase the value of the "name" field.
#
# - {"name":"SADA", "hello":100} gets filtered out
# - {"name":"SADA"} becomes {"name":"sada"}
# - {"last_name":"FURUHASHI"} throws an error because it has no field called "name"

<filter foo.bar>
  @type grep
  exclude1 hello .
</filter>

<filter foo.bar>
  @type record_transformer
  enable_ruby true
  <record>
    name ${name.downcase}
  </record>
</filter>

<match foo.bar>
  @type stdout
</match>


================================================
FILE: example/v1_literal_example.conf
================================================
<section1>
  key1  'text'     # text
  key2  '\''       # ' (1 char)
  key3  '\\'       # \ (1 char)
  key4  '\t'       # \t (2 char)
  key5  '\['       # \[ (2 char)
  key6  '\\['      # \[ (2 char)
  key7  '#t'       # #t (2 char)
  key8  '\#{test}' # \#{test} (8 char)
  key9  '#{test}'  # #{test} (7 char)
  key10 '\[(?<time>[^\]]*)\] (?<message>.*)'    # \[(?<time>[^\]]*\] (?<message>.*)
</section1>
<section2>
  key1  "text"     # text
  key2  "\""       # " (1 char)
  key3  "\\"       # \ (1 char)
  key4  "\t"       # TAB (1 char)
  key5  "\["       # [ (1 char)
  key6  "\\["      # \[ (2 char)
  key7  "#t"       # #t (2 char)
  key8  "\#{test}" # #{test} (7 char)
  key9  "#{test}"  # replaced by eval('test')
  key10 "\\[(?<time>[^\\]]*)\\] (?<message>.*)" # \[(?<time>[^\]]*\] (?<message>.*)
</section2>
<section3>
  key1  text     # text
  key2  \        # \ (1 char)
  key3  \\       # \\ (2 char)
  key4  \t       # \t (2 char)
  key5  \[       # \[ (2 char)
  key6  \\[      # \\[ (3 char)
  key7  #t       # #t (2 char)
  key8  \#{test} # \#{test} (8 char)
  key9  #{test}  # #{test} (7 char)
  key10 \[(?<time>[^\]]*)\] (?<message>.*)    # \[(?<time>[^\]]*\] (?<message>.*)
</section3>


================================================
FILE: example/worker_section.conf
================================================
<system>
  workers 4
  root_dir /path/fluentd/root
</system>

<source> # top-level sections works on all workers in parallel
  @type forward
  port 24224
</source>

<match all> # this sections also works on all workers in parallel
  @type stdout
  <inject>
    worker_id_key worker_id
  </inject>
</match>

<worker 0> # this section works only on first worker process
  <source>
    @type tail
    format none
    path /var/log/fluentd_test.log
    pos_file /var/log/fluentd_test.pos
    tag tail
    rotate_wait 5
    read_from_head true
    refresh_interval 60
  </source>

  <match tail>
    @type stdout
    <inject>
      worker_id_key worker_id
    </inject>
  </match>
</worker>


================================================
FILE: fluent.conf
================================================
# In v1 configuration, type and id are @ prefix parameters.
# @type and @id are recommended. type and id are still available for backward compatibility

## built-in TCP input
## $ echo <json> | fluent-cat <tag>
<source>
  @type forward
  @id forward_input
</source>

## built-in UNIX socket input
#<source>
#  @type unix
#</source>

# HTTP input
# http://localhost:8888/<tag>?json=<json>
<source>
  @type http
  @id http_input

  port 8888
</source>

## File input
## read apache logs with tag=apache.access
#<source>
#  @type tail
#  format apache
#  path /var/log/httpd-access.log
#  tag apache.access
#</source>

## Mutating event filter
## Add hostname and tag fields to apache.access tag events
#<filter apache.access>
#  @type record_transformer
#  <record>
#    hostname ${hostname}
#    tag ${tag}
#  </record>
#</filter>

## Selecting event filter
## Remove unnecessary events from apache prefixed tag events
#<filter apache.**>
#  @type grep
#  include1 method GET # pass only GET in 'method' field
#  exclude1 message debug # remove debug event
#</filter>

# Listen HTTP for monitoring
# http://localhost:24220/api/plugins
# http://localhost:24220/api/plugins?type=TYPE
# http://localhost:24220/api/plugins?tag=MYTAG
<source>
  @type monitor_agent
  @id monitor_agent_input

  port 24220
</source>

# Listen DRb for debug
<source>
  @type debug_agent
  @id debug_agent_input

  bind 127.0.0.1
  port 24230
</source>

## match tag=apache.access and write to file
#<matc
Download .txt
gitextract_m1i_qpi2/

├── .deepsource.toml
├── .github/
│   ├── DISCUSSION_TEMPLATE/
│   │   ├── q-a-japanese.yml
│   │   └── q-a.yml
│   ├── ISSUE_TEMPLATE/
│   │   ├── bug_report.yml
│   │   ├── config.yml
│   │   └── feature_request.yml
│   ├── ISSUE_TEMPLATE.md
│   ├── PULL_REQUEST_TEMPLATE.md
│   ├── dependabot.yml
│   └── workflows/
│       ├── backport.yml
│       ├── benchmark.yml
│       ├── rubocop.yml
│       ├── scorecards.yml
│       ├── stale-actions.yml
│       ├── test-ruby-head.yml
│       └── test.yml
├── .gitignore
├── .rubocop.yml
├── ADOPTERS.md
├── AUTHORS
├── CHANGELOG.md
├── CONTRIBUTING.md
├── GOVERNANCE.md
├── Gemfile
├── GithubWorkflow.md
├── LICENSE
├── MAINTAINERS.md
├── README.md
├── Rakefile
├── SECURITY.md
├── bin/
│   ├── fluent-binlog-reader
│   ├── fluent-ca-generate
│   ├── fluent-cap-ctl
│   ├── fluent-ctl
│   ├── fluent-debug
│   ├── fluent-plugin-config-format
│   └── fluent-plugin-generate
├── code-of-conduct.md
├── example/
│   ├── copy_roundrobin.conf
│   ├── counter.conf
│   ├── filter_stdout.conf
│   ├── in_forward.conf
│   ├── in_forward_client.conf
│   ├── in_forward_shared_key.conf
│   ├── in_forward_tls.conf
│   ├── in_forward_users.conf
│   ├── in_forward_workers.conf
│   ├── in_http.conf
│   ├── in_out_forward.conf
│   ├── in_sample_blocks.conf
│   ├── in_sample_with_compression.conf
│   ├── in_syslog.conf
│   ├── in_tail.conf
│   ├── in_tcp.conf
│   ├── in_udp.conf
│   ├── logevents.conf
│   ├── multi_filters.conf
│   ├── out_copy.conf
│   ├── out_exec_filter.conf
│   ├── out_file.conf
│   ├── out_forward.conf
│   ├── out_forward_buf_file.conf
│   ├── out_forward_client.conf
│   ├── out_forward_heartbeat_none.conf
│   ├── out_forward_sd.conf
│   ├── out_forward_shared_key.conf
│   ├── out_forward_tls.conf
│   ├── out_forward_users.conf
│   ├── out_null.conf
│   ├── sd.yaml
│   ├── secondary_file.conf
│   ├── suppress_config_dump.conf
│   ├── v0_12_filter.conf
│   ├── v1_literal_example.conf
│   └── worker_section.conf
├── fluent.conf
├── fluentd.gemspec
├── lib/
│   └── fluent/
│       ├── agent.rb
│       ├── capability.rb
│       ├── clock.rb
│       ├── command/
│       │   ├── binlog_reader.rb
│       │   ├── bundler_injection.rb
│       │   ├── ca_generate.rb
│       │   ├── cap_ctl.rb
│       │   ├── cat.rb
│       │   ├── ctl.rb
│       │   ├── debug.rb
│       │   ├── fluentd.rb
│       │   ├── plugin_config_formatter.rb
│       │   └── plugin_generator.rb
│       ├── compat/
│       │   ├── call_super_mixin.rb
│       │   ├── detach_process_mixin.rb
│       │   ├── exec_util.rb
│       │   ├── file_util.rb
│       │   ├── filter.rb
│       │   ├── formatter.rb
│       │   ├── formatter_utils.rb
│       │   ├── handle_tag_and_time_mixin.rb
│       │   ├── handle_tag_name_mixin.rb
│       │   ├── input.rb
│       │   ├── output.rb
│       │   ├── output_chain.rb
│       │   ├── parser.rb
│       │   ├── parser_utils.rb
│       │   ├── propagate_default.rb
│       │   ├── record_filter_mixin.rb
│       │   ├── set_tag_key_mixin.rb
│       │   ├── set_time_key_mixin.rb
│       │   ├── socket_util.rb
│       │   ├── string_util.rb
│       │   ├── structured_format_mixin.rb
│       │   └── type_converter.rb
│       ├── config/
│       │   ├── basic_parser.rb
│       │   ├── configure_proxy.rb
│       │   ├── dsl.rb
│       │   ├── element.rb
│       │   ├── error.rb
│       │   ├── literal_parser.rb
│       │   ├── parser.rb
│       │   ├── section.rb
│       │   ├── types.rb
│       │   ├── v1_parser.rb
│       │   ├── yaml_parser/
│       │   │   ├── fluent_value.rb
│       │   │   ├── loader.rb
│       │   │   ├── parser.rb
│       │   │   └── section_builder.rb
│       │   └── yaml_parser.rb
│       ├── config.rb
│       ├── configurable.rb
│       ├── counter/
│       │   ├── base_socket.rb
│       │   ├── client.rb
│       │   ├── error.rb
│       │   ├── mutex_hash.rb
│       │   ├── server.rb
│       │   ├── store.rb
│       │   └── validator.rb
│       ├── counter.rb
│       ├── daemon.rb
│       ├── daemonizer.rb
│       ├── engine.rb
│       ├── env.rb
│       ├── error.rb
│       ├── event.rb
│       ├── event_router.rb
│       ├── ext_monitor_require.rb
│       ├── file_wrapper.rb
│       ├── filter.rb
│       ├── fluent_log_event_router.rb
│       ├── formatter.rb
│       ├── input.rb
│       ├── label.rb
│       ├── load.rb
│       ├── log/
│       │   └── console_adapter.rb
│       ├── log.rb
│       ├── match.rb
│       ├── mixin.rb
│       ├── msgpack_factory.rb
│       ├── oj_options.rb
│       ├── output.rb
│       ├── output_chain.rb
│       ├── parser.rb
│       ├── plugin/
│       │   ├── bare_output.rb
│       │   ├── base.rb
│       │   ├── buf_file.rb
│       │   ├── buf_file_single.rb
│       │   ├── buf_memory.rb
│       │   ├── buffer/
│       │   │   ├── chunk.rb
│       │   │   ├── file_chunk.rb
│       │   │   ├── file_single_chunk.rb
│       │   │   └── memory_chunk.rb
│       │   ├── buffer.rb
│       │   ├── compressable.rb
│       │   ├── exec_util.rb
│       │   ├── file_util.rb
│       │   ├── filter.rb
│       │   ├── filter_grep.rb
│       │   ├── filter_parser.rb
│       │   ├── filter_record_transformer.rb
│       │   ├── filter_stdout.rb
│       │   ├── formatter.rb
│       │   ├── formatter_csv.rb
│       │   ├── formatter_hash.rb
│       │   ├── formatter_json.rb
│       │   ├── formatter_ltsv.rb
│       │   ├── formatter_msgpack.rb
│       │   ├── formatter_out_file.rb
│       │   ├── formatter_single_value.rb
│       │   ├── formatter_stdout.rb
│       │   ├── formatter_tsv.rb
│       │   ├── in_debug_agent.rb
│       │   ├── in_dummy.rb
│       │   ├── in_exec.rb
│       │   ├── in_forward.rb
│       │   ├── in_gc_stat.rb
│       │   ├── in_http.rb
│       │   ├── in_monitor_agent.rb
│       │   ├── in_object_space.rb
│       │   ├── in_sample.rb
│       │   ├── in_syslog.rb
│       │   ├── in_tail/
│       │   │   ├── group_watch.rb
│       │   │   └── position_file.rb
│       │   ├── in_tail.rb
│       │   ├── in_tcp.rb
│       │   ├── in_udp.rb
│       │   ├── in_unix.rb
│       │   ├── input.rb
│       │   ├── metrics.rb
│       │   ├── metrics_local.rb
│       │   ├── multi_output.rb
│       │   ├── out_buffer.rb
│       │   ├── out_copy.rb
│       │   ├── out_exec.rb
│       │   ├── out_exec_filter.rb
│       │   ├── out_file.rb
│       │   ├── out_forward/
│       │   │   ├── ack_handler.rb
│       │   │   ├── connection_manager.rb
│       │   │   ├── error.rb
│       │   │   ├── failure_detector.rb
│       │   │   ├── handshake_protocol.rb
│       │   │   ├── load_balancer.rb
│       │   │   └── socket_cache.rb
│       │   ├── out_forward.rb
│       │   ├── out_http.rb
│       │   ├── out_null.rb
│       │   ├── out_relabel.rb
│       │   ├── out_roundrobin.rb
│       │   ├── out_secondary_file.rb
│       │   ├── out_stdout.rb
│       │   ├── out_stream.rb
│       │   ├── output.rb
│       │   ├── owned_by_mixin.rb
│       │   ├── parser.rb
│       │   ├── parser_apache.rb
│       │   ├── parser_apache2.rb
│       │   ├── parser_apache_error.rb
│       │   ├── parser_csv.rb
│       │   ├── parser_json.rb
│       │   ├── parser_ltsv.rb
│       │   ├── parser_msgpack.rb
│       │   ├── parser_multiline.rb
│       │   ├── parser_nginx.rb
│       │   ├── parser_none.rb
│       │   ├── parser_regexp.rb
│       │   ├── parser_syslog.rb
│       │   ├── parser_tsv.rb
│       │   ├── sd_file.rb
│       │   ├── sd_srv.rb
│       │   ├── sd_static.rb
│       │   ├── service_discovery.rb
│       │   ├── socket_util.rb
│       │   ├── storage.rb
│       │   ├── storage_local.rb
│       │   └── string_util.rb
│       ├── plugin.rb
│       ├── plugin_helper/
│       │   ├── cert_option.rb
│       │   ├── child_process.rb
│       │   ├── compat_parameters.rb
│       │   ├── counter.rb
│       │   ├── event_emitter.rb
│       │   ├── event_loop.rb
│       │   ├── extract.rb
│       │   ├── formatter.rb
│       │   ├── http_server/
│       │   │   ├── app.rb
│       │   │   ├── methods.rb
│       │   │   ├── request.rb
│       │   │   ├── router.rb
│       │   │   ├── server.rb
│       │   │   └── ssl_context_builder.rb
│       │   ├── http_server.rb
│       │   ├── inject.rb
│       │   ├── metrics.rb
│       │   ├── parser.rb
│       │   ├── record_accessor.rb
│       │   ├── retry_state.rb
│       │   ├── server.rb
│       │   ├── service_discovery/
│       │   │   ├── manager.rb
│       │   │   └── round_robin_balancer.rb
│       │   ├── service_discovery.rb
│       │   ├── socket.rb
│       │   ├── socket_option.rb
│       │   ├── storage.rb
│       │   ├── thread.rb
│       │   └── timer.rb
│       ├── plugin_helper.rb
│       ├── plugin_id.rb
│       ├── process.rb
│       ├── registry.rb
│       ├── root_agent.rb
│       ├── rpc.rb
│       ├── source_only_buffer_agent.rb
│       ├── static_config_analysis.rb
│       ├── supervisor.rb
│       ├── system_config.rb
│       ├── test/
│       │   ├── base.rb
│       │   ├── driver/
│       │   │   ├── base.rb
│       │   │   ├── base_owned.rb
│       │   │   ├── base_owner.rb
│       │   │   ├── event_feeder.rb
│       │   │   ├── filter.rb
│       │   │   ├── formatter.rb
│       │   │   ├── input.rb
│       │   │   ├── multi_output.rb
│       │   │   ├── output.rb
│       │   │   ├── parser.rb
│       │   │   ├── storage.rb
│       │   │   └── test_event_router.rb
│       │   ├── filter_test.rb
│       │   ├── formatter_test.rb
│       │   ├── helpers.rb
│       │   ├── input_test.rb
│       │   ├── log.rb
│       │   ├── output_test.rb
│       │   ├── parser_test.rb
│       │   └── startup_shutdown.rb
│       ├── test.rb
│       ├── time.rb
│       ├── timezone.rb
│       ├── tls.rb
│       ├── unique_id.rb
│       ├── variable_store.rb
│       ├── version.rb
│       ├── win32api.rb
│       └── winsvc.rb
├── tasks/
│   ├── backport/
│   │   └── backporter.rb
│   ├── backport.rb
│   ├── benchmark/
│   │   ├── conf/
│   │   │   └── in_tail.conf
│   │   └── patch_in_tail.rb
│   └── benchmark.rb
├── templates/
│   ├── new_gem/
│   │   ├── Gemfile
│   │   ├── README.md.erb
│   │   ├── Rakefile
│   │   ├── fluent-plugin.gemspec.erb
│   │   ├── lib/
│   │   │   └── fluent/
│   │   │       └── plugin/
│   │   │           ├── filter.rb.erb
│   │   │           ├── formatter.rb.erb
│   │   │           ├── input.rb.erb
│   │   │           ├── output.rb.erb
│   │   │           ├── parser.rb.erb
│   │   │           └── storage.rb.erb
│   │   └── test/
│   │       ├── helper.rb.erb
│   │       └── plugin/
│   │           ├── test_filter.rb.erb
│   │           ├── test_formatter.rb.erb
│   │           ├── test_input.rb.erb
│   │           ├── test_output.rb.erb
│   │           ├── test_parser.rb.erb
│   │           └── test_storage.rb.erb
│   └── plugin_config_formatter/
│       ├── param.md-compact.erb
│       ├── param.md-table.erb
│       ├── param.md.erb
│       └── section.md.erb
└── test/
    ├── command/
    │   ├── test_binlog_reader.rb
    │   ├── test_ca_generate.rb
    │   ├── test_cap_ctl.rb
    │   ├── test_cat.rb
    │   ├── test_ctl.rb
    │   ├── test_fluentd.rb
    │   ├── test_plugin_config_formatter.rb
    │   └── test_plugin_generator.rb
    ├── compat/
    │   ├── test_calls_super.rb
    │   └── test_parser.rb
    ├── config/
    │   ├── assertions.rb
    │   ├── test_config_parser.rb
    │   ├── test_configurable.rb
    │   ├── test_configure_proxy.rb
    │   ├── test_dsl.rb
    │   ├── test_element.rb
    │   ├── test_literal_parser.rb
    │   ├── test_plugin_configuration.rb
    │   ├── test_section.rb
    │   ├── test_system_config.rb
    │   ├── test_types.rb
    │   └── test_yaml_parser.rb
    ├── counter/
    │   ├── test_client.rb
    │   ├── test_error.rb
    │   ├── test_mutex_hash.rb
    │   ├── test_server.rb
    │   ├── test_store.rb
    │   └── test_validator.rb
    ├── helper.rb
    ├── helpers/
    │   ├── fuzzy_assert.rb
    │   └── process_extenstion.rb
    ├── log/
    │   └── test_console_adapter.rb
    ├── plugin/
    │   ├── data/
    │   │   ├── 2010/
    │   │   │   └── 01/
    │   │   │       ├── 20100102-030405.log
    │   │   │       ├── 20100102-030406.log
    │   │   │       └── 20100102.log
    │   │   ├── log/
    │   │   │   ├── bar
    │   │   │   ├── foo/
    │   │   │   │   ├── bar.log
    │   │   │   │   └── bar2
    │   │   │   └── test.log
    │   │   ├── log_numeric/
    │   │   │   ├── 01.log
    │   │   │   ├── 02.log
    │   │   │   ├── 12.log
    │   │   │   └── 14.log
    │   │   └── sd_file/
    │   │       ├── config
    │   │       ├── config.json
    │   │       ├── config.yaml
    │   │       ├── config.yml
    │   │       └── invalid_config.yml
    │   ├── in_tail/
    │   │   ├── test_fifo.rb
    │   │   ├── test_io_handler.rb
    │   │   └── test_position_file.rb
    │   ├── out_forward/
    │   │   ├── test_ack_handler.rb
    │   │   ├── test_connection_manager.rb
    │   │   ├── test_handshake_protocol.rb
    │   │   ├── test_load_balancer.rb
    │   │   └── test_socket_cache.rb
    │   ├── test_bare_output.rb
    │   ├── test_base.rb
    │   ├── test_buf_file.rb
    │   ├── test_buf_file_single.rb
    │   ├── test_buf_memory.rb
    │   ├── test_buffer.rb
    │   ├── test_buffer_chunk.rb
    │   ├── test_buffer_file_chunk.rb
    │   ├── test_buffer_file_single_chunk.rb
    │   ├── test_buffer_memory_chunk.rb
    │   ├── test_compressable.rb
    │   ├── test_file_util.rb
    │   ├── test_filter.rb
    │   ├── test_filter_grep.rb
    │   ├── test_filter_parser.rb
    │   ├── test_filter_record_transformer.rb
    │   ├── test_filter_stdout.rb
    │   ├── test_formatter_csv.rb
    │   ├── test_formatter_hash.rb
    │   ├── test_formatter_json.rb
    │   ├── test_formatter_ltsv.rb
    │   ├── test_formatter_msgpack.rb
    │   ├── test_formatter_out_file.rb
    │   ├── test_formatter_single_value.rb
    │   ├── test_formatter_tsv.rb
    │   ├── test_in_debug_agent.rb
    │   ├── test_in_exec.rb
    │   ├── test_in_forward.rb
    │   ├── test_in_gc_stat.rb
    │   ├── test_in_http.rb
    │   ├── test_in_monitor_agent.rb
    │   ├── test_in_object_space.rb
    │   ├── test_in_sample.rb
    │   ├── test_in_syslog.rb
    │   ├── test_in_tail.rb
    │   ├── test_in_tcp.rb
    │   ├── test_in_udp.rb
    │   ├── test_in_unix.rb
    │   ├── test_input.rb
    │   ├── test_metadata.rb
    │   ├── test_metrics.rb
    │   ├── test_metrics_local.rb
    │   ├── test_multi_output.rb
    │   ├── test_out_buffer.rb
    │   ├── test_out_copy.rb
    │   ├── test_out_exec.rb
    │   ├── test_out_exec_filter.rb
    │   ├── test_out_file.rb
    │   ├── test_out_forward.rb
    │   ├── test_out_http.rb
    │   ├── test_out_null.rb
    │   ├── test_out_relabel.rb
    │   ├── test_out_roundrobin.rb
    │   ├── test_out_secondary_file.rb
    │   ├── test_out_stdout.rb
    │   ├── test_out_stream.rb
    │   ├── test_output.rb
    │   ├── test_output_as_buffered.rb
    │   ├── test_output_as_buffered_backup.rb
    │   ├── test_output_as_buffered_compress.rb
    │   ├── test_output_as_buffered_overflow.rb
    │   ├── test_output_as_buffered_retries.rb
    │   ├── test_output_as_buffered_secondary.rb
    │   ├── test_output_as_standard.rb
    │   ├── test_owned_by.rb
    │   ├── test_parser.rb
    │   ├── test_parser_apache.rb
    │   ├── test_parser_apache2.rb
    │   ├── test_parser_apache_error.rb
    │   ├── test_parser_csv.rb
    │   ├── test_parser_json.rb
    │   ├── test_parser_labeled_tsv.rb
    │   ├── test_parser_msgpack.rb
    │   ├── test_parser_multiline.rb
    │   ├── test_parser_nginx.rb
    │   ├── test_parser_none.rb
    │   ├── test_parser_regexp.rb
    │   ├── test_parser_syslog.rb
    │   ├── test_parser_tsv.rb
    │   ├── test_sd_file.rb
    │   ├── test_sd_srv.rb
    │   ├── test_storage.rb
    │   ├── test_storage_local.rb
    │   └── test_string_util.rb
    ├── plugin_helper/
    │   ├── data/
    │   │   └── cert/
    │   │       ├── cert-key.pem
    │   │       ├── cert-with-CRLF.pem
    │   │       ├── cert-with-no-newline.pem
    │   │       ├── cert.pem
    │   │       ├── cert_chains/
    │   │       │   ├── ca-cert-key.pem
    │   │       │   ├── ca-cert.pem
    │   │       │   ├── cert-key.pem
    │   │       │   └── cert.pem
    │   │       ├── empty.pem
    │   │       ├── generate_cert.rb
    │   │       ├── with_ca/
    │   │       │   ├── ca-cert-key-pass.pem
    │   │       │   ├── ca-cert-key.pem
    │   │       │   ├── ca-cert-pass.pem
    │   │       │   ├── ca-cert.pem
    │   │       │   ├── cert-key-pass.pem
    │   │       │   ├── cert-key.pem
    │   │       │   ├── cert-pass.pem
    │   │       │   └── cert.pem
    │   │       └── without_ca/
    │   │           ├── cert-key-pass.pem
    │   │           ├── cert-key.pem
    │   │           ├── cert-pass.pem
    │   │           └── cert.pem
    │   ├── http_server/
    │   │   ├── test_app.rb
    │   │   ├── test_request.rb
    │   │   └── test_route.rb
    │   ├── service_discovery/
    │   │   ├── test_manager.rb
    │   │   └── test_round_robin_balancer.rb
    │   ├── test_cert_option.rb
    │   ├── test_child_process.rb
    │   ├── test_compat_parameters.rb
    │   ├── test_event_emitter.rb
    │   ├── test_event_loop.rb
    │   ├── test_extract.rb
    │   ├── test_formatter.rb
    │   ├── test_http_server_helper.rb
    │   ├── test_inject.rb
    │   ├── test_metrics.rb
    │   ├── test_parser.rb
    │   ├── test_record_accessor.rb
    │   ├── test_retry_state.rb
    │   ├── test_server.rb
    │   ├── test_service_discovery.rb
    │   ├── test_socket.rb
    │   ├── test_storage.rb
    │   ├── test_thread.rb
    │   └── test_timer.rb
    ├── scripts/
    │   ├── exec_script.rb
    │   ├── fluent/
    │   │   └── plugin/
    │   │       ├── formatter1/
    │   │       │   └── formatter_test1.rb
    │   │       ├── formatter2/
    │   │       │   └── formatter_test2.rb
    │   │       ├── formatter_known.rb
    │   │       ├── out_test.rb
    │   │       ├── out_test2.rb
    │   │       └── parser_known.rb
    │   └── windows_service_test.ps1
    ├── test_capability.rb
    ├── test_clock.rb
    ├── test_config.rb
    ├── test_configdsl.rb
    ├── test_daemonizer.rb
    ├── test_engine.rb
    ├── test_event.rb
    ├── test_event_router.rb
    ├── test_event_time.rb
    ├── test_file_wrapper.rb
    ├── test_filter.rb
    ├── test_fluent_log_event_router.rb
    ├── test_formatter.rb
    ├── test_input.rb
    ├── test_log.rb
    ├── test_match.rb
    ├── test_mixin.rb
    ├── test_msgpack_factory.rb
    ├── test_oj_options.rb
    ├── test_output.rb
    ├── test_plugin.rb
    ├── test_plugin_classes.rb
    ├── test_plugin_helper.rb
    ├── test_plugin_id.rb
    ├── test_process.rb
    ├── test_root_agent.rb
    ├── test_source_only_buffer_agent.rb
    ├── test_static_config_analysis.rb
    ├── test_supervisor.rb
    ├── test_test_drivers.rb
    ├── test_time_formatter.rb
    ├── test_time_parser.rb
    ├── test_tls.rb
    ├── test_unique_id.rb
    └── test_variable_store.rb
Download .txt
Showing preview only (388K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (5493 symbols across 433 files)

FILE: lib/fluent/agent.rb
  type Fluent (line 22) | module Fluent
    class Agent (line 29) | class Agent
      method initialize (line 32) | def initialize(log:)
      method configure (line 60) | def configure(conf)
      method lifecycle_control_list (line 79) | def lifecycle_control_list
      method lifecycle (line 107) | def lifecycle(desc: false)
      method add_match (line 126) | def add_match(type, pattern, conf)
      method add_filter (line 148) | def add_filter(type, pattern, conf)
      method emit_error_event (line 162) | def emit_error_event(tag, time, record, error)
      method handle_emits_error (line 165) | def handle_emits_error(tag, es, error)

FILE: lib/fluent/capability.rb
  type Fluent (line 26) | module Fluent
    class Capability (line 28) | class Capability
      method initialize (line 29) | def initialize(target = nil, pid = nil)
      method usable? (line 33) | def usable?
      method apply (line 37) | def apply(select_set)
      method clear (line 41) | def clear(select_set)
      method have_capability? (line 45) | def have_capability?(type, capability)
      method update (line 49) | def update(action, type, capability_or_capability_array)
      method have_capabilities? (line 53) | def have_capabilities?(select_set)
      method initialize (line 59) | def initialize(target = nil, pid = nil)
      method usable? (line 62) | def usable?
      method apply (line 66) | def apply(select_set)
      method clear (line 70) | def clear(select_set)
      method have_capability? (line 74) | def have_capability?(type, capability)
      method update (line 78) | def update(action, type, capability_or_capability_array)
      method have_capabilities? (line 82) | def have_capabilities?(select_set)
    class Capability (line 58) | class Capability
      method initialize (line 29) | def initialize(target = nil, pid = nil)
      method usable? (line 33) | def usable?
      method apply (line 37) | def apply(select_set)
      method clear (line 41) | def clear(select_set)
      method have_capability? (line 45) | def have_capability?(type, capability)
      method update (line 49) | def update(action, type, capability_or_capability_array)
      method have_capabilities? (line 53) | def have_capabilities?(select_set)
      method initialize (line 59) | def initialize(target = nil, pid = nil)
      method usable? (line 62) | def usable?
      method apply (line 66) | def apply(select_set)
      method clear (line 70) | def clear(select_set)
      method have_capability? (line 74) | def have_capability?(type, capability)
      method update (line 78) | def update(action, type, capability_or_capability_array)
      method have_capabilities? (line 82) | def have_capabilities?(select_set)

FILE: lib/fluent/clock.rb
  type Fluent (line 17) | module Fluent
    type Clock (line 18) | module Clock
      function now (line 24) | def self.now
      function freeze (line 28) | def self.freeze(dst = nil, &block)
      function return (line 35) | def self.return
      function now_raw (line 42) | def self.now_raw
      function real_now (line 46) | def self.real_now(unit = :second)
      function dst_clock_from_time (line 50) | def self.dst_clock_from_time(time)
      function freeze_block (line 55) | def self.freeze_block(dst)

FILE: lib/fluent/command/binlog_reader.rb
  class FluentBinlogReader (line 27) | class FluentBinlogReader
    method initialize (line 40) | def initialize(argv = ARGV)
    method call (line 44) | def call
    method command (line 51) | def command
    method usage (line 67) | def usage(msg = nil)
  type BinlogReaderCommand (line 74) | module BinlogReaderCommand
    class Base (line 75) | class Base
      method initialize (line 76) | def initialize(argv = ARGV)
      method call (line 90) | def call
      method usage (line 96) | def usage(msg = nil)
      method parse_options! (line 102) | def parse_options!
    type Formattable (line 119) | module Formattable
      function initialize (line 124) | def initialize(argv = ARGV)
      function configure_option_parser (line 132) | def configure_option_parser
      function lookup_formatter (line 148) | def lookup_formatter(format, params)
    class Head (line 161) | class Head < Base
      method initialize (line 168) | def initialize(argv = ARGV)
      method call (line 174) | def call
      method default_options (line 189) | def default_options
      method parse_options! (line 193) | def parse_options!
    class Cat (line 207) | class Cat < Head
      method default_options (line 212) | def default_options
    class Formats (line 217) | class Formats < Base
      method initialize (line 218) | def initialize(argv = ARGV)
      method call (line 223) | def call

FILE: lib/fluent/command/ca_generate.rb
  type Fluent (line 6) | module Fluent
    class CaGenerate (line 7) | class CaGenerate
      method initialize (line 19) | def initialize(argv = ARGV)
      method usage (line 28) | def usage(msg = nil)
      method call (line 34) | def call
      method certificates_from_file (line 59) | def self.certificates_from_file(path)
      method generate_ca_pair (line 67) | def self.generate_ca_pair(opts={})
      method generate_server_pair (line 93) | def self.generate_server_pair(opts={})
      method generate_self_signed_server_pair (line 125) | def self.generate_self_signed_server_pair(opts={})
      method configure_option_parser (line 150) | def configure_option_parser
      method parse_options! (line 180) | def parse_options!

FILE: lib/fluent/command/cap_ctl.rb
  type Fluent (line 22) | module Fluent
    class CapCtl (line 23) | class CapCtl
      method prepare_option_parser (line 24) | def prepare_option_parser
      method usage (line 48) | def usage(msg)
      method initialize (line 54) | def initialize(argv = ARGV)
      method call (line 75) | def call
      method clear_capabilities (line 96) | def clear_capabilities(opts, target_file)
      method add_capabilities (line 104) | def add_capabilities(opts, target_file)
      method drop_capabilities (line 119) | def drop_capabilities(opts, target_file)
      method get_capabilities (line 134) | def get_capabilities(opts, target_file)
      method get_valid_capabilities (line 145) | def get_valid_capabilities
      method check_capabilities (line 154) | def check_capabilities(capabilities, valid_capabilities)
      method parse_options! (line 162) | def parse_options!(argv)

FILE: lib/fluent/command/cat.rb
  class Writer (line 114) | class Writer
    class TimerThread (line 119) | class TimerThread
      method initialize (line 120) | def initialize(writer)
      method start (line 124) | def start
      method shutdown (line 129) | def shutdown
      method run (line 134) | def run
    method initialize (line 142) | def initialize(tag, connector, time_as_integer: false, retry_limit: 5,...
    method secondary_record? (line 161) | def secondary_record?(record)
    method write (line 168) | def write(record)
    method on_timer (line 203) | def on_timer
    method close (line 222) | def close
    method start (line 227) | def start
    method shutdown (line 233) | def shutdown
    method write_impl (line 238) | def write_impl(array)
    method get_socket (line 257) | def get_socket
    method try_connect (line 268) | def try_connect
    method abort_message (line 306) | def abort_message(time, record)

FILE: lib/fluent/command/ctl.rb
  type Fluent (line 25) | module Fluent
    class Ctl (line 26) | class Ctl
      method initialize (line 60) | def initialize(argv = ARGV)
      method help_text (line 69) | def help_text
      method usage (line 84) | def usage(msg = nil)
      method call (line 93) | def call
      method call_signal (line 111) | def call_signal(command, pid)
      method call_winsvc_control_code (line 116) | def call_winsvc_control_code(command, pid_or_svcname)
      method call_windows_event (line 143) | def call_windows_event(command, pid_or_svcname)
      method configure_option_parser (line 157) | def configure_option_parser
      method parse_options! (line 162) | def parse_options!

FILE: lib/fluent/command/plugin_config_formatter.rb
  class FluentPluginConfigFormatter (line 27) | class FluentPluginConfigFormatter
    method initialize (line 39) | def initialize(argv = ARGV)
    method call (line 53) | def call
    method dump_txt (line 81) | def dump_txt(dumped_config)
    method dump_section_txt (line 103) | def dump_section_txt(base_section, level = 0)
    method dump_markdown (line 137) | def dump_markdown(dumped_config)
    method dump_section_markdown (line 158) | def dump_section_markdown(base_section, level = 0)
    method dump_json (line 205) | def dump_json(dumped_config)
    method plugin_helper_url (line 213) | def plugin_helper_url(plugin_helper)
    method plugin_helper_markdown_link (line 217) | def plugin_helper_markdown_link(plugin_helper)
    method plugin_overview_url (line 221) | def plugin_overview_url(class_name)
    method plugin_overview_markdown_link (line 226) | def plugin_overview_markdown_link(class_name)
    method usage (line 231) | def usage(message = nil)
    method prepare_option_parser (line 238) | def prepare_option_parser
    method parse_options! (line 277) | def parse_options!
    method init_libraries (line 292) | def init_libraries
    method template_path (line 305) | def template_path(name)

FILE: lib/fluent/command/plugin_generator.rb
  class FluentPluginGenerator (line 26) | class FluentPluginGenerator
    method initialize (line 32) | def initialize(argv = ARGV)
    method call (line 40) | def call
    method template_directory (line 65) | def template_directory
    method template_file (line 69) | def template_file(filename)
    method template (line 73) | def template(source, dest)
    method file (line 89) | def file(source, dest)
    method prepare_parser (line 98) | def prepare_parser
    method parse_options! (line 119) | def parse_options!
    method usage (line 129) | def usage(message = "")
    method user_name (line 136) | def user_name
    method user_email (line 141) | def user_email
    method gem_name (line 146) | def gem_name
    method plugin_name (line 150) | def plugin_name
    method gem_file_path (line 154) | def gem_file_path
    method lock_file_path (line 160) | def lock_file_path
    method locked_gem_version (line 166) | def locked_gem_version(gem_name)
    method rake_version (line 176) | def rake_version
    method test_unit_version (line 180) | def test_unit_version
    method bundler_version (line 184) | def bundler_version
    method class_name (line 194) | def class_name
    method plugin_filename (line 198) | def plugin_filename
    method test_filename (line 209) | def test_filename
    method dest_filename (line 220) | def dest_filename(path)
    method capitalized_name (line 233) | def capitalized_name
    method underscore_name (line 237) | def underscore_name
    method dash_name (line 241) | def dash_name
    method preamble (line 245) | def preamble
    method copy_license (line 249) | def copy_license
    method create_label (line 262) | def create_label(dest, contents)
    method overwrite? (line 274) | def overwrite?(dest)
    class NoLicense (line 301) | class NoLicense
      method initialize (line 304) | def initialize
      method preamble (line 310) | def preamble(usename)
    class ApacheLicense (line 315) | class ApacheLicense
      method initialize (line 320) | def initialize
      method name (line 331) | def name
      method full_name (line 335) | def full_name
      method preamble (line 339) | def preamble(user_name)
    method register_license (line 351) | def self.register_license(license, klass)
    method lookup_license (line 355) | def self.lookup_license(license)

FILE: lib/fluent/compat/call_super_mixin.rb
  type Fluent (line 17) | module Fluent
    type Compat (line 18) | module Compat
      type CallSuperMixin (line 19) | module CallSuperMixin
        function prepended (line 25) | def self.prepended(klass)
        function start (line 41) | def start
        function before_shutdown (line 50) | def before_shutdown
        function stop (line 58) | def stop
        function shutdown (line 67) | def shutdown

FILE: lib/fluent/compat/detach_process_mixin.rb
  type Fluent (line 17) | module Fluent
    type Compat (line 18) | module Compat
      type DetachProcessMixin (line 19) | module DetachProcessMixin
        function detach_process (line 20) | def detach_process
      type DetachMultiProcessMixin (line 26) | module DetachMultiProcessMixin
        function detach_multi_process (line 27) | def detach_multi_process

FILE: lib/fluent/compat/exec_util.rb
  type Fluent (line 25) | module Fluent
    type Compat (line 26) | module Compat
      type ExecUtil (line 27) | module ExecUtil
        class Parser (line 34) | class Parser
          method initialize (line 35) | def initialize(on_message)
        class TextParserWrapperParser (line 40) | class TextParserWrapperParser < Parser
          method initialize (line 41) | def initialize(conf, on_message)
          method call (line 47) | def call(io)
          method each_line (line 51) | def each_line(line)
        class TSVParser (line 59) | class TSVParser < Parser
          method initialize (line 60) | def initialize(keys, on_message)
          method call (line 65) | def call(io)
          method each_line (line 69) | def each_line(line)
        class JSONParser (line 79) | class JSONParser < Parser
          method call (line 80) | def call(io)
        class MessagePackParser (line 87) | class MessagePackParser < Parser
          method call (line 88) | def call(io)
        class Formatter (line 97) | class Formatter
        class TSVFormatter (line 100) | class TSVFormatter < Formatter
          method initialize (line 101) | def initialize(in_keys)
          method call (line 106) | def call(record, out)
        class JSONFormatter (line 117) | class JSONFormatter < Formatter
          method call (line 118) | def call(record, out)
        class MessagePackFormatter (line 123) | class MessagePackFormatter < Formatter
          method call (line 124) | def call(record, out)

FILE: lib/fluent/compat/file_util.rb
  type Fluent (line 17) | module Fluent
    type Compat (line 18) | module Compat
      type FileUtil (line 19) | module FileUtil
        function writable? (line 25) | def writable?(path)
        function writable_p? (line 39) | def writable_p?(path)

FILE: lib/fluent/compat/filter.rb
  type Fluent (line 23) | module Fluent
    type Compat (line 24) | module Compat
      class Filter (line 25) | class Filter < Fluent::Plugin::Filter
        method initialize (line 30) | def initialize
        method configure (line 37) | def configure(conf)
        method start (line 46) | def start
        method before_shutdown (line 59) | def before_shutdown
        method shutdown (line 63) | def shutdown

FILE: lib/fluent/compat/formatter.rb
  type Fluent (line 31) | module Fluent
    type Compat (line 32) | module Compat
      class Formatter (line 33) | class Formatter < Fluent::Plugin::Formatter
      type TextFormatter (line 37) | module TextFormatter
        function register_template (line 38) | def self.register_template(type, template)
        function lookup (line 51) | def self.lookup(type)
        function create (line 57) | def self.create(conf)
        class ProcWrappedFormatter (line 74) | class ProcWrappedFormatter < Fluent::Plugin::ProcWrappedFormatter
        class OutFileFormatter (line 78) | class OutFileFormatter < Fluent::Plugin::OutFileFormatter
        class StdoutFormatter (line 82) | class StdoutFormatter < Fluent::Plugin::StdoutFormatter
        class JSONFormatter (line 86) | class JSONFormatter < Fluent::Plugin::JSONFormatter
        class HashFormatter (line 90) | class HashFormatter < Fluent::Plugin::HashFormatter
        class MessagePackFormatter (line 94) | class MessagePackFormatter < Fluent::Plugin::MessagePackFormatter
        class LabeledTSVFormatter (line 98) | class LabeledTSVFormatter < Fluent::Plugin::LabeledTSVFormatter
        class CsvFormatter (line 102) | class CsvFormatter < Fluent::Plugin::CsvFormatter
          method csv_cacheable? (line 107) | def csv_cacheable?
        class SingleValueFormatter (line 112) | class SingleValueFormatter < Fluent::Plugin::SingleValueFormatter

FILE: lib/fluent/compat/formatter_utils.rb
  type Fluent (line 19) | module Fluent
    type Compat (line 20) | module Compat
      type FormatterUtils (line 21) | module FormatterUtils
        type InjectMixin (line 25) | module InjectMixin
          function format (line 26) | def format(tag, time, record)
        function convert_formatter_conf (line 32) | def self.convert_formatter_conf(conf)

FILE: lib/fluent/compat/handle_tag_and_time_mixin.rb
  type Fluent (line 19) | module Fluent
    type Compat (line 20) | module Compat
      type HandleTagAndTimeMixin (line 21) | module HandleTagAndTimeMixin
        function included (line 22) | def self.included(klass)
        function configure (line 35) | def configure(conf)
        function filter_record (line 47) | def filter_record(tag, time, record)

FILE: lib/fluent/compat/handle_tag_name_mixin.rb
  type Fluent (line 19) | module Fluent
    type Compat (line 20) | module Compat
      type HandleTagNameMixin (line 21) | module HandleTagNameMixin
        function configure (line 25) | def configure(conf)
        function filter_record (line 44) | def filter_record(tag, time, record)

FILE: lib/fluent/compat/input.rb
  type Fluent (line 22) | module Fluent
    type Compat (line 23) | module Compat
      class Input (line 24) | class Input < Fluent::Plugin::Input
        method initialize (line 27) | def initialize
        method start (line 36) | def start
        method before_shutdown (line 40) | def before_shutdown
        method shutdown (line 44) | def shutdown

FILE: lib/fluent/compat/output.rb
  type Fluent (line 37) | module Fluent
    type Compat (line 38) | module Compat
      type CompatOutputUtils (line 42) | module CompatOutputUtils
        function buffer_section (line 43) | def self.buffer_section(conf)
        function secondary_section (line 47) | def self.secondary_section(conf)
      type BufferedEventStreamMixin (line 52) | module BufferedEventStreamMixin
        function repeatable? (line 55) | def repeatable?
        function each (line 59) | def each(&block)
        function to_msgpack_stream (line 63) | def to_msgpack_stream
        function key (line 67) | def key
      type AddTimeSliceKeyToChunkMixin (line 72) | module AddTimeSliceKeyToChunkMixin
        function time_slice_format= (line 73) | def time_slice_format=(format)
        function timekey= (line 77) | def timekey=(unit)
        function timezone= (line 81) | def timezone=(tz)
        function assume_timekey! (line 85) | def assume_timekey!
        function key (line 104) | def key
      type AddKeyToChunkMixin (line 109) | module AddKeyToChunkMixin
        function key (line 110) | def key
      type ChunkSizeCompatMixin (line 115) | module ChunkSizeCompatMixin
        function size (line 116) | def size
        function size_of_events (line 120) | def size_of_events
      type BufferedChunkMixin (line 125) | module BufferedChunkMixin
        function write (line 127) | def write(chunk)
      type TimeSliceChunkMixin (line 135) | module TimeSliceChunkMixin
        function write (line 137) | def write(chunk)
      class Output (line 149) | class Output < Fluent::Plugin::Output
        method support_in_v12_style? (line 154) | def support_in_v12_style?(feature)
        method process (line 163) | def process(tag, es)
        method initialize (line 167) | def initialize
        method configure (line 174) | def configure(conf)
        method start (line 181) | def start
      class MultiOutput (line 195) | class MultiOutput < Fluent::Plugin::BareOutput
        method process (line 200) | def process(tag, es)
      class BufferedOutput (line 205) | class BufferedOutput < Fluent::Plugin::Output
        method support_in_v12_style? (line 210) | def support_in_v12_style?(feature)
        method propagate_default_params (line 248) | def self.propagate_default_params
        method configure (line 253) | def configure(conf)
        method emit (line 311) | def emit(tag, es, chain, key="")
        method submit_flush (line 320) | def submit_flush
        method format_stream (line 324) | def format_stream(tag, es)
        method handle_stream_simple (line 338) | def handle_stream_simple(tag, es, enqueue: false)
        method extract_placeholders (line 383) | def extract_placeholders(str, metadata)
        method initialize (line 387) | def initialize
        method start (line 394) | def start
        method detach_process (line 407) | def detach_process(&block)
        method detach_multi_process (line 412) | def detach_multi_process(&block)
      class ObjectBufferedOutput (line 418) | class ObjectBufferedOutput < Fluent::Plugin::Output
        method support_in_v12_style? (line 427) | def support_in_v12_style?(feature)
        method propagate_default_params (line 467) | def self.propagate_default_params
        method configure (line 472) | def configure(conf)
        method format_stream (line 508) | def format_stream(tag, es) # for BufferedOutputTestDriver
        method write (line 516) | def write(chunk)
        method extract_placeholders (line 520) | def extract_placeholders(str, metadata)
        method initialize (line 524) | def initialize
        method start (line 531) | def start
        method detach_process (line 544) | def detach_process(&block)
        method detach_multi_process (line 549) | def detach_multi_process(&block)
      class TimeSlicedOutput (line 555) | class TimeSlicedOutput < Fluent::Plugin::Output
        method support_in_v12_style? (line 560) | def support_in_v12_style?(feature)
        method initialize (line 611) | def initialize
        method propagate_default_params (line 620) | def self.propagate_default_params
        method configure (line 625) | def configure(conf)
        method start (line 688) | def start
        method detach_process (line 701) | def detach_process(&block)
        method detach_multi_process (line 706) | def detach_multi_process(&block)
        method extract_placeholders (line 716) | def extract_placeholders(str, metadata)

FILE: lib/fluent/compat/output_chain.rb
  type Fluent (line 19) | module Fluent
    type Compat (line 20) | module Compat
      class NullOutputChain (line 22) | class NullOutputChain
        method next (line 25) | def next
      class OutputChain (line 29) | class OutputChain
        method initialize (line 30) | def initialize(array, tag, es, chain=NullOutputChain.instance)
        method next (line 38) | def next
      class CopyOutputChain (line 48) | class CopyOutputChain < OutputChain
        method next (line 49) | def next

FILE: lib/fluent/compat/parser.rb
  type Fluent (line 34) | module Fluent
    type Compat (line 35) | module Compat
      class Parser (line 36) | class Parser < Fluent::Plugin::Parser
      class TextParser (line 40) | class TextParser
        method initialize (line 46) | def initialize
        method configure (line 58) | def configure(conf, required=true)
        method parse (line 74) | def parse(text, &block)
        method register_template (line 84) | def self.register_template(type, template, time_format=nil)
        method lookup (line 95) | def self.lookup(format)
        type TypeConverterCompatParameters (line 123) | module TypeConverterCompatParameters
          function convert_type_converter_parameters! (line 124) | def convert_type_converter_parameters!(conf)
        class TimeParser (line 143) | class TimeParser < Fluent::TimeParser
        class RegexpParser (line 147) | class RegexpParser < Fluent::Plugin::RegexpParser
          method initialize (line 151) | def initialize(regexp, conf = {})
          method configure (line 167) | def configure(conf)
          method patterns (line 178) | def patterns
        class ValuesParser (line 183) | class ValuesParser < Parser
          method configure (line 191) | def configure(conf)
          method values_map (line 211) | def values_map(values)
          method convert_field_type! (line 238) | def convert_field_type!(record)
          method convert_value_to_nil (line 246) | def convert_value_to_nil(value)
        class JSONParser (line 257) | class JSONParser < Fluent::Plugin::JSONParser
          method configure (line 260) | def configure(conf)
        class TSVParser (line 266) | class TSVParser < Fluent::Plugin::TSVParser
          method configure (line 269) | def configure(conf)
        class LabeledTSVParser (line 275) | class LabeledTSVParser < Fluent::Plugin::LabeledTSVParser
          method configure (line 278) | def configure(conf)
        class CSVParser (line 284) | class CSVParser < Fluent::Plugin::CSVParser
          method configure (line 287) | def configure(conf)
        class NoneParser (line 293) | class NoneParser < Fluent::Plugin::NoneParser
        class ApacheParser (line 297) | class ApacheParser < Fluent::Plugin::Apache2Parser
        class SyslogParser (line 301) | class SyslogParser < Fluent::Plugin::SyslogParser
        class MultilineParser (line 305) | class MultilineParser < Fluent::Plugin::MultilineParser

FILE: lib/fluent/compat/parser_utils.rb
  type Fluent (line 19) | module Fluent
    type Compat (line 20) | module Compat
      type ParserUtils (line 21) | module ParserUtils
        function convert_parser_conf (line 24) | def self.convert_parser_conf(conf)

FILE: lib/fluent/compat/propagate_default.rb
  type Fluent (line 19) | module Fluent
    type Compat (line 20) | module Compat
      type PropagateDefault (line 21) | module PropagateDefault
        function included (line 28) | def self.included(mod)
        type ClassMethods (line 32) | module ClassMethods
          function config_param (line 35) | def config_param(name, type = nil, **kwargs, &block)
          function config_set_default (line 48) | def config_set_default(name, defval)

FILE: lib/fluent/compat/record_filter_mixin.rb
  type Fluent (line 17) | module Fluent
    type Compat (line 18) | module Compat
      type RecordFilterMixin (line 19) | module RecordFilterMixin
        function filter_record (line 20) | def filter_record(tag, time, record)
        function format_stream (line 23) | def format_stream(tag, es)

FILE: lib/fluent/compat/set_tag_key_mixin.rb
  type Fluent (line 21) | module Fluent
    type Compat (line 22) | module Compat
      type SetTagKeyMixin (line 23) | module SetTagKeyMixin
        function configure (line 28) | def configure(conf)
        function filter_record (line 43) | def filter_record(tag, time, record)

FILE: lib/fluent/compat/set_time_key_mixin.rb
  type Fluent (line 22) | module Fluent
    type Compat (line 23) | module Compat
      type SetTimeKeyMixin (line 24) | module SetTimeKeyMixin
        function configure (line 29) | def configure(conf)
        function filter_record (line 62) | def filter_record(tag, time, record)

FILE: lib/fluent/compat/socket_util.rb
  type Fluent (line 24) | module Fluent
    type Compat (line 25) | module Compat
      type SocketUtil (line 26) | module SocketUtil
        function create_udp_socket (line 27) | def create_udp_socket(host)
        class UdpHandler (line 36) | class UdpHandler < Coolio::IO
          method initialize (line 37) | def initialize(io, log, body_size_limit, callback)
          method on_readable (line 45) | def on_readable
        class TcpHandler (line 54) | class TcpHandler < Coolio::Socket
          method initialize (line 57) | def initialize(io, log, delimiter, callback)
          method on_connect (line 73) | def on_connect
          method on_read (line 76) | def on_read(data)
          method on_close (line 91) | def on_close
        class BaseInput (line 96) | class BaseInput < Fluent::Input
          method initialize (line 97) | def initialize
          method configure (line 114) | def configure(conf)
          method start (line 121) | def start
          method shutdown (line 130) | def shutdown
          method run (line 139) | def run
          method on_message (line 148) | def on_message(msg, addr)

FILE: lib/fluent/compat/string_util.rb
  type Fluent (line 17) | module Fluent
    type Compat (line 18) | module Compat
      type StringUtil (line 19) | module StringUtil
        function match_regexp (line 20) | def match_regexp(regexp, string)

FILE: lib/fluent/compat/structured_format_mixin.rb
  type Fluent (line 17) | module Fluent
    type Compat (line 18) | module Compat
      type StructuredFormatMixin (line 19) | module StructuredFormatMixin
        function format (line 20) | def format(tag, time, record)

FILE: lib/fluent/compat/type_converter.rb
  type Fluent (line 17) | module Fluent
    type Compat (line 18) | module Compat
      type TypeConverter (line 19) | module TypeConverter
        function included (line 40) | def self.included(klass)
        function configure (line 48) | def configure(conf)
        function convert_type (line 57) | def convert_type(name, value)
        function parse_types_parameter (line 62) | def parse_types_parameter

FILE: lib/fluent/config.rb
  type Fluent (line 22) | module Fluent
    type Config (line 23) | module Config
      function build (line 29) | def self.build(config_path:, encoding: 'utf-8', additional_config: n...
      function parse (line 55) | def self.parse(str, fname, basepath = Dir.pwd, v1_config = nil, synt...
      function new (line 85) | def self.new(name = '')

FILE: lib/fluent/config/basic_parser.rb
  type Fluent (line 20) | module Fluent
    type Config (line 21) | module Config
      class BasicParser (line 22) | class BasicParser
        method initialize (line 23) | def initialize(strscan)
        type ClassMethods (line 33) | module ClassMethods
          function symbol (line 34) | def symbol(string)
          function def_symbol (line 38) | def def_symbol(method_name, string)
          function def_literal (line 45) | def def_literal(method_name, string)
        method skip (line 55) | def skip(pattern)
        method scan (line 59) | def scan(pattern)
        method getch (line 63) | def getch
        method eof? (line 67) | def eof?
        method prev_match (line 71) | def prev_match
        method check (line 75) | def check(pattern)
        method line_end (line 79) | def line_end
        method spacing (line 83) | def spacing
        method spacing_without_comment (line 87) | def spacing_without_comment
        method parse_error! (line 91) | def parse_error!(message)
        method error_sample (line 95) | def error_sample

FILE: lib/fluent/config/configure_proxy.rb
  type Fluent (line 17) | module Fluent
    type Config (line 18) | module Config
      class ConfigureProxy (line 19) | class ConfigureProxy
        method initialize (line 40) | def initialize(name, root: false, param_name: nil, final: nil, ini...
        method variable_name (line 72) | def variable_name
        method root? (line 76) | def root?
        method init? (line 80) | def init?
        method required? (line 84) | def required?
        method multi? (line 88) | def multi?
        method final? (line 92) | def final?
        method merge (line 96) | def merge(other) # self is base class, other is subclass
        method merge_for_finalized (line 148) | def merge_for_finalized(other)
        method overwrite_defaults (line 202) | def overwrite_defaults(other) # other is owner plugin's correspond...
        method option_value_type! (line 211) | def option_value_type!(name, opts, key, klass=nil, type: nil)
        method config_parameter_option_validate! (line 229) | def config_parameter_option_validate!(name, type, **kwargs, &block)
        method parameter_configuration (line 249) | def parameter_configuration(name, type = nil, **kwargs, &block)
        method configured_in (line 300) | def configured_in(section_name)
        method config_argument (line 307) | def config_argument(name, type = nil, **kwargs, &block)
        method config_param (line 317) | def config_param(name, type = nil, **kwargs, &block)
        method config_set_default (line 330) | def config_set_default(name, defval)
        method config_set_desc (line 341) | def config_set_desc(name, description)
        method desc (line 352) | def desc(description)
        method config_section (line 356) | def config_section(name, **kwargs, &block)
        method dump_config_definition (line 371) | def dump_config_definition
        method overwrite? (line 417) | def overwrite?(other, attribute_name)

FILE: lib/fluent/config/dsl.rb
  type Fluent (line 22) | module Fluent
    type Config (line 23) | module Config
      type DSL (line 24) | module DSL
        type Parser (line 27) | module Parser
          function read (line 28) | def self.read(path)
          function parse (line 34) | def self.parse(source, source_path="config.rb")
        class Proxy (line 39) | class Proxy
          method initialize (line 40) | def initialize(name, arg, include_basepath = Dir.pwd)
          method element (line 45) | def element
          method include_basepath (line 49) | def include_basepath
          method eval (line 53) | def eval(source, source_path)
          method to_config_element (line 58) | def to_config_element
          method add_element (line 64) | def add_element(name, arg, block)
        class Element (line 78) | class Element < BasicObject
          method initialize (line 79) | def initialize(name, arg, proxy)
          method to_int (line 87) | def to_int
          method method_missing (line 91) | def method_missing(name, *args, &block)
          method include (line 111) | def include(*args)
          method source (line 123) | def source(&block)
          method match (line 127) | def match(*args, &block)
          method const_missing (line 132) | def self.const_missing(name)
          method ruby (line 142) | def ruby(&block)

FILE: lib/fluent/config/element.rb
  type Fluent (line 20) | module Fluent
    type Config (line 21) | module Config
      class Element (line 22) | class Element < Hash
        method initialize (line 23) | def initialize(name, arg, attrs, elements, unused = nil)
        method elements (line 54) | def elements(*names, name: nil, arg: nil)
        method add_element (line 67) | def add_element(name, arg = '')
        method inspect (line 74) | def inspect
        method pretty_print (line 80) | def pretty_print(q)
        method == (line 85) | def ==(o)
        method + (line 93) | def +(o)
        method each_element (line 100) | def each_element(*names, &block)
        method has_key? (line 112) | def has_key?(key)
        method [] (line 118) | def [](key)
        method check_not_fetched (line 130) | def check_not_fetched(&block)
        method to_s (line 141) | def to_s(nest = 0)
        method to_masked_element (line 160) | def to_masked_element
        method secret_param? (line 171) | def secret_param?(key)
        method param_type (line 185) | def param_type(key)
        method default_value (line 197) | def default_value(key)
        method dump_value (line 208) | def dump_value(k, v, nindent)
        method unescape_parameter (line 232) | def self.unescape_parameter(v)
        method set_target_worker_id (line 238) | def set_target_worker_id(worker_id)
        method set_target_worker_ids (line 245) | def set_target_worker_ids(worker_ids)
        method for_every_workers? (line 252) | def for_every_workers?
        method for_this_worker? (line 256) | def for_this_worker?
        method for_another_worker? (line 260) | def for_another_worker?

FILE: lib/fluent/config/error.rb
  type Fluent (line 17) | module Fluent
    class ConfigError (line 18) | class ConfigError < StandardError
    class ConfigParseError (line 21) | class ConfigParseError < ConfigError
    class ObsoletedParameterError (line 24) | class ObsoletedParameterError < ConfigError
    class SetNil (line 27) | class SetNil < Exception
    class SetDefault (line 30) | class SetDefault < Exception
    class NotFoundPluginError (line 33) | class NotFoundPluginError < ConfigError
      method initialize (line 36) | def initialize(msg, type: nil, kind: nil)

FILE: lib/fluent/config/literal_parser.rb
  type Fluent (line 26) | module Fluent
    type Config (line 27) | module Config
      class LiteralParser (line 28) | class LiteralParser < BasicParser
        method unescape_char (line 29) | def self.unescape_char(c)
        method initialize (line 52) | def initialize(strscan, eval_context)
        method parse_literal (line 67) | def parse_literal(string_boundary_charset = LINE_END)
        method scan_string (line 80) | def scan_string(string_boundary_charset = LINE_END)
        method scan_double_quoted_string (line 90) | def scan_double_quoted_string
        method scan_single_quoted_string (line 119) | def scan_single_quoted_string
        method scan_nonquoted_string (line 136) | def scan_nonquoted_string(boundary_charset = LINE_END)
        method scan_embedded_code (line 157) | def scan_embedded_code
        method eval_embedded_code (line 183) | def eval_embedded_code(code)
        method eval_escape_char (line 201) | def eval_escape_char(c)
        method scan_json (line 226) | def scan_json(is_array)

FILE: lib/fluent/config/parser.rb
  type Fluent (line 22) | module Fluent
    type Config (line 23) | module Config
      class Parser (line 24) | class Parser
        method parse (line 25) | def self.parse(io, fname, basepath = Dir.pwd)
        method initialize (line 30) | def initialize(basepath, iterator, fname, i = 0)
        method parse! (line 37) | def parse!(allow_include, elem_name = nil, attrs = {}, elems = [])
        method process_include (line 74) | def process_include(attrs, elems, uri, allow_include = true)

FILE: lib/fluent/config/section.rb
  type Fluent (line 22) | module Fluent
    type Config (line 23) | module Config
      class Section (line 24) | class Section < BasicObject
        method name (line 25) | def self.name
        method initialize (line 29) | def initialize(params = {}, config_element = nil)
        method corresponding_config_element (line 37) | def corresponding_config_element
        method class (line 41) | def class
        method to_s (line 45) | def to_s
        method inspect (line 49) | def inspect
        method pretty_print (line 54) | def pretty_print(q)
        method nil? (line 58) | def nil?
        method to_h (line 62) | def to_h
        method dup (line 66) | def dup
        method + (line 70) | def +(other)
        method instance_of? (line 74) | def instance_of?(mod)
        method kind_of? (line 78) | def kind_of?(mod)
        method [] (line 83) | def [](key)
        method []= (line 87) | def []=(key, value)
        method respond_to? (line 91) | def respond_to?(symbol, include_all=false)
        method respond_to_missing? (line 104) | def respond_to_missing?(symbol, include_private)
        method method_missing (line 108) | def method_missing(name, *args)
      type SectionGenerator (line 117) | module SectionGenerator
        function generate (line 118) | def self.generate(proxy, conf, logger, plugin_class, stack = [], s...
        function check_unused_section (line 252) | def self.check_unused_section(proxy, conf, plugin_class)

FILE: lib/fluent/config/types.rb
  type Fluent (line 21) | module Fluent
    type Config (line 22) | module Config
      function reformatted_value (line 23) | def self.reformatted_value(type, val, opts = {}, name = nil)
      function size_value (line 27) | def self.size_value(str, opts = {}, name = nil)
      function time_value (line 44) | def self.time_value(str, opts = {}, name = nil)
      function bool_value (line 61) | def self.bool_value(str, opts = {}, name = nil)
      function regexp_value (line 84) | def self.regexp_value(str, opts = {}, name = nil)
      function string_value (line 99) | def self.string_value(val, opts = {}, name = nil)
      function symbol_value (line 111) | def self.symbol_value(val, opts = {}, name = nil)
      function enum_value (line 121) | def self.enum_value(val, opts = {}, name = nil)
      function hash_value (line 200) | def self.hash_value(val, opts = {}, name = nil)
      function array_value (line 227) | def self.array_value(val, opts = {}, name = nil)

FILE: lib/fluent/config/v1_parser.rb
  type Fluent (line 25) | module Fluent
    type Config (line 26) | module Config
      class V1Parser (line 27) | class V1Parser < LiteralParser
        method parse (line 30) | def self.parse(data, fname, basepath = Dir.pwd, eval_context = nil...
        method initialize (line 36) | def initialize(strscan, include_basepath, fname, eval_context, on_...
        method parse! (line 44) | def parse!
        method parse_element (line 60) | def parse_element(root_element, elem_name, attrs = {}, elems = [])
        method parse_include (line 147) | def parse_include(attrs, elems)
        method eval_include (line 153) | def eval_include(attrs, elems, uri)
        method error_sample (line 195) | def error_sample

FILE: lib/fluent/config/yaml_parser.rb
  type Fluent (line 21) | module Fluent
    type Config (line 22) | module Config
      type YamlParser (line 23) | module YamlParser
        function parse (line 24) | def self.parse(path, on_file_parsed: nil)

FILE: lib/fluent/config/yaml_parser/fluent_value.rb
  type Fluent (line 17) | module Fluent
    type Config (line 18) | module Config
      type YamlParser (line 19) | module YamlParser
        type FluentValue (line 20) | module FluentValue
          function to_s (line 22) | def to_s
          function to_element (line 26) | def to_element
          function to_s (line 32) | def to_s
          function to_element (line 40) | def to_element

FILE: lib/fluent/config/yaml_parser/loader.rb
  type Fluent (line 24) | module Fluent
    type Config (line 25) | module Config
      type YamlParser (line 26) | module YamlParser
        class Loader (line 27) | class Loader
          method initialize (line 33) | def initialize(context = Kernel.binding, on_file_parsed: nil)
          method load (line 41) | def load(path)
          method eval_include (line 68) | def eval_include(path, parent)
          class Visitor (line 85) | class Visitor < Psych::Visitors::ToRuby
            method initialize (line 86) | def initialize(scanner, class_loader)
            method _register_domain (line 90) | def _register_domain(name, &block)
            method revive_hash (line 94) | def revive_hash(hash, o)

FILE: lib/fluent/config/yaml_parser/parser.rb
  type Fluent (line 19) | module Fluent
    type Config (line 20) | module Config
      type YamlParser (line 21) | module YamlParser
        class Parser (line 22) | class Parser
          method initialize (line 23) | def initialize(config, indent: 2)
          method build (line 28) | def build
          method system_config_build (line 36) | def system_config_build(config)
          method config_build (line 40) | def config_build(config, indent: 0, root: false)
          method label_build (line 69) | def label_build(config, indent: 0)
          method worker_build (line 76) | def worker_build(config, indent: 0)
          method source_build (line 83) | def source_build(config, indent: 0)
          method filter_build (line 87) | def filter_build(config, indent: 0)
          method match_build (line 97) | def match_build(config, indent: 0)
          method included_sections_build (line 107) | def included_sections_build(config, section_builder, indent: 0)
          method section_build (line 126) | def section_build(name, config, indent: 0, arg: nil)
          method section? (line 172) | def section?(value)

FILE: lib/fluent/config/yaml_parser/section_builder.rb
  type Fluent (line 17) | module Fluent
    type Config (line 18) | module Config
      type YamlParser (line 19) | module YamlParser
        function to_s (line 21) | def to_s
        function to_element (line 31) | def to_element
        class RootBuilder (line 40) | class RootBuilder
          method initialize (line 41) | def initialize(system, conf)
          method to_element (line 48) | def to_element
          method to_s (line 52) | def to_s
        class SectionBodyBuilder (line 61) | class SectionBodyBuilder
          method to_s (line 63) | def to_s
          method initialize (line 68) | def initialize(indent, root: false)
          method add_line (line 74) | def add_line(k, v)
          method add_section (line 78) | def add_section(section)
          method to_element (line 82) | def to_element
          method to_s (line 101) | def to_s

FILE: lib/fluent/configurable.rb
  type Fluent (line 24) | module Fluent
    type Configurable (line 25) | module Configurable
      function included (line 26) | def self.included(mod)
      function initialize (line 30) | def initialize
      function configure_proxy_generate (line 51) | def configure_proxy_generate
      function configured_section_create (line 65) | def configured_section_create(name, conf = nil)
      function configure (line 77) | def configure(conf, strict_config_value=false)
      function config (line 106) | def config
      function register_type (line 112) | def self.register_type(type, callable = nil, &block)
      function lookup_type (line 117) | def self.lookup_type(type)
      type ClassMethods (line 136) | module ClassMethods
        function configure_proxy_map (line 137) | def configure_proxy_map
        function configure_proxy (line 143) | def configure_proxy(mod_name)
        function configured_in (line 153) | def configured_in(section_name)
        function config_param (line 157) | def config_param(name, type = nil, **kwargs, &block)
        function config_set_default (line 163) | def config_set_default(name, defval)
        function config_set_desc (line 167) | def config_set_desc(name, desc)
        function config_section (line 171) | def config_section(name, **kwargs, &block)
        function desc (line 180) | def desc(description)
        function merged_configure_proxy (line 184) | def merged_configure_proxy
        function dump_config_definition (line 196) | def dump_config_definition

FILE: lib/fluent/counter.rb
  type Fluent (line 20) | module Fluent
    type Counter (line 21) | module Counter

FILE: lib/fluent/counter/base_socket.rb
  type Fluent (line 20) | module Fluent
    type Counter (line 21) | module Counter
      class BaseSocket (line 22) | class BaseSocket < Coolio::TCPSocket
        method packed_write (line 23) | def packed_write(data)
        method on_read (line 27) | def on_read(data)
        method on_message (line 33) | def on_message(data)
        method pack (line 39) | def pack(data)

FILE: lib/fluent/counter/client.rb
  type Fluent (line 22) | module Fluent
    type Counter (line 23) | module Counter
      class Client (line 24) | class Client
        method initialize (line 30) | def initialize(loop = nil, opt = {})
        method start (line 43) | def start
        method stop (line 55) | def stop
        method establish (line 60) | def establish(scope)
        method init (line 80) | def init(params, options: {})
        method delete (line 95) | def delete(*params, options: {})
        method inc (line 115) | def inc(params, options: {})
        method get (line 129) | def get(*params, options: {})
        method reset (line 142) | def reset(*params, options: {})
        method exist_scope! (line 157) | def exist_scope!
        method on_message (line 161) | def on_message(data)
        method send_request (line 169) | def send_request(method, scope, params, opt = {})
        method build_request (line 179) | def build_request(method, id, scope = nil, params = nil, options =...
        method generate_id (line 187) | def generate_id
      class Connection (line 198) | class Connection < Fluent::Counter::BaseSocket
        method initialize (line 199) | def initialize(io, on_message)
        method send_data (line 206) | def send_data(data)
        method on_connect (line 214) | def on_connect
        method on_close (line 220) | def on_close
        method on_message (line 224) | def on_message(data)
      class Future (line 229) | class Future
        class Result (line 230) | class Result
          method initialize (line 233) | def initialize(result)
          method success? (line 238) | def success?
          method error? (line 242) | def error?
        method initialize (line 247) | def initialize(loop, mutex)
        method set (line 254) | def set(v)
        method errors (line 259) | def errors
        method errors? (line 263) | def errors?
        method data (line 268) | def data
        method get (line 272) | def get
        method wait (line 278) | def wait
        method join (line 288) | def join

FILE: lib/fluent/counter/error.rb
  type Fluent (line 17) | module Fluent
    type Counter (line 18) | module Counter
      class BaseError (line 19) | class BaseError < StandardError
        method to_hash (line 20) | def to_hash
        method code (line 24) | def code
      class InvalidParams (line 29) | class InvalidParams < BaseError
        method code (line 30) | def code
      class UnknownKey (line 35) | class UnknownKey < BaseError
        method code (line 36) | def code
      class ParseError (line 41) | class ParseError < BaseError
        method code (line 42) | def code
      class InvalidRequest (line 47) | class InvalidRequest < BaseError
        method code (line 48) | def code
      class MethodNotFound (line 53) | class MethodNotFound < BaseError
        method code (line 54) | def code
      class InternalServerError (line 59) | class InternalServerError < BaseError
        method code (line 60) | def code
      function raise_error (line 65) | def raise_error(response)

FILE: lib/fluent/counter/mutex_hash.rb
  type Fluent (line 19) | module Fluent
    type Counter (line 20) | module Counter
      class MutexHash (line 21) | class MutexHash
        method initialize (line 22) | def initialize(data_store)
        method start (line 30) | def start
        method stop (line 35) | def stop
        method synchronize (line 40) | def synchronize(*keys)
        method synchronize_keys (line 74) | def synchronize_keys(*keys)
      class CleanupThread (line 101) | class CleanupThread
        method initialize (line 104) | def initialize(store, mutex_hash, mutex)
        method start (line 112) | def start
        method stop (line 122) | def stop
        method run_once (line 137) | def run_once

FILE: lib/fluent/counter/server.rb
  type Fluent (line 23) | module Fluent
    type Counter (line 24) | module Counter
      class Server (line 25) | class Server
        method initialize (line 29) | def initialize(name, opt = {})
        method start (line 46) | def start
        method stop (line 58) | def stop
        method on_message (line 68) | def on_message(data)
        method establish (line 84) | def establish(params, _scope, _options)
        method init (line 98) | def init(params, scope, options)
        method delete (line 126) | def delete(params, scope, options)
        method inc (line 151) | def inc(params, scope, options)
        method reset (line 181) | def reset(params, scope, options)
        method get (line 206) | def get(params, scope, _options)
        method safe_run (line 224) | def safe_run
        class Response (line 233) | class Response
          method initialize (line 234) | def initialize(errors = [], data = [])
          method push_error (line 239) | def push_error(error)
          method push_data (line 243) | def push_data(data)
          method to_hash (line 247) | def to_hash
      class Handler (line 261) | class Handler < Fluent::Counter::BaseSocket
        method initialize (line 262) | def initialize(io, on_message)
        method on_message (line 267) | def on_message(data)

FILE: lib/fluent/counter/store.rb
  type Fluent (line 22) | module Fluent
    type Counter (line 23) | module Counter
      class Store (line 24) | class Store
        method gen_key (line 25) | def self.gen_key(scope, key)
        method initialize (line 29) | def initialize(opt = {})
        class DummyParent (line 43) | class DummyParent
          method initialize (line 48) | def initialize(log)
          method plugin_id (line 52) | def plugin_id
          method plugin_id_configured? (line 56) | def plugin_id_configured?
          method plugin_root_dir (line 61) | def plugin_root_dir
        method start (line 66) | def start
        method stop (line 70) | def stop
        method init (line 74) | def init(key, data, ignore: false)
        method get (line 85) | def get(key, raise_error: false, raw: false)
        method key? (line 98) | def key?(key)
        method delete (line 102) | def delete(key)
        method inc (line 107) | def inc(key, data, force: false)
        method reset (line 122) | def reset(key)
        method build_response (line 148) | def build_response(d)
        method build_value (line 161) | def build_value(data)
        method initial_value (line 177) | def initial_value(type)
        method valid_type! (line 185) | def valid_type!(v, value)
        method type_str (line 191) | def type_str(v)

FILE: lib/fluent/counter/validator.rb
  type Fluent (line 19) | module Fluent
    type Counter (line 20) | module Counter
      class Validator (line 21) | class Validator
        method request (line 26) | def self.request(data)
        method initialize (line 45) | def initialize(*types)
        method call (line 50) | def call(data)
        method dispatch (line 72) | def dispatch(type, data)
      class ArrayValidator (line 79) | class ArrayValidator < Validator
        method validate_key! (line 80) | def validate_key!(name)
        method validate_scope! (line 90) | def validate_scope!(name)
      class HashValidator (line 101) | class HashValidator < Validator
        method validate_name! (line 102) | def validate_name!(hash)
        method validate_value! (line 117) | def validate_value!(hash)
        method validate_reset_interval! (line 128) | def validate_reset_interval!(hash)

FILE: lib/fluent/daemonizer.rb
  type Fluent (line 19) | module Fluent
    class Daemonizer (line 20) | class Daemonizer
      method daemonize (line 21) | def self.daemonize(pid_path, args = [], &block)
      method daemonize (line 25) | def daemonize(pid_path, args = [])
      method daemonize_with_spawn (line 45) | def daemonize_with_spawn(pid_fullpath, args)
      method check_pidfile (line 53) | def check_pidfile(pid_path)
      method install_at_exit_handlers (line 80) | def install_at_exit_handlers(pidfile)

FILE: lib/fluent/engine.rb
  type Fluent (line 28) | module Fluent
    class EngineClass (line 29) | class EngineClass
      method initialize (line 33) | def initialize
      method init (line 54) | def init(system_config, supervisor_mode: false, start_in_parallel: f...
      method log (line 68) | def log
      method parse_config (line 72) | def parse_config(io, fname, basepath = Dir.pwd, v1_config = false)
      method run_configure (line 81) | def run_configure(conf, dry_run: false)
      method configure (line 106) | def configure(conf)
      method add_plugin_dir (line 120) | def add_plugin_dir(dir)
      method emit (line 125) | def emit(tag, time, record)
      method emit_array (line 129) | def emit_array(tag, array)
      method emit_stream (line 133) | def emit_stream(tag, es)
      method flush! (line 137) | def flush!
      method cancel_source_only! (line 143) | def cancel_source_only!
      method now (line 149) | def now
      method run (line 154) | def run
      method reload_config (line 181) | def reload_config(conf, supervisor: false)
      method stop (line 220) | def stop
      method push_log_event (line 225) | def push_log_event(tag, time, record)
      method worker_id (line 229) | def worker_id
      method stop_phase (line 243) | def stop_phase(root_agent)
      method start_phase (line 254) | def start_phase(root_agent)
      method start (line 263) | def start

FILE: lib/fluent/env.rb
  type Fluent (line 22) | module Fluent
    function windows? (line 33) | def self.windows?
    function linux? (line 37) | def self.linux?
    function macos? (line 41) | def self.macos?

FILE: lib/fluent/error.rb
  type Fluent (line 17) | module Fluent
    class UnrecoverableError (line 18) | class UnrecoverableError < StandardError
      method initialize (line 19) | def initialize(error_message = nil)
      method to_s (line 23) | def to_s
    class InvalidRootDirectory (line 28) | class InvalidRootDirectory < UnrecoverableError
    class InvalidLockDirectory (line 31) | class InvalidLockDirectory < UnrecoverableError
    class UncatchableError (line 35) | class UncatchableError < Exception

FILE: lib/fluent/event.rb
  type Fluent (line 20) | module Fluent
    class EventStream (line 21) | class EventStream
      method dup (line 26) | def dup
      method size (line 30) | def size
      method empty? (line 35) | def empty?
      method == (line 40) | def ==(other)
      method repeatable? (line 44) | def repeatable?
      method slice (line 48) | def slice(index, num)
      method each (line 52) | def each(unpacker: nil, &block)
      method to_msgpack_stream (line 56) | def to_msgpack_stream(time_int: false, packer: nil)
      method to_compressed_msgpack_stream (line 65) | def to_compressed_msgpack_stream(time_int: false, packer: nil, type:...
      method to_msgpack_stream_forced_integer (line 70) | def to_msgpack_stream_forced_integer(packer: nil)
    class OneEventStream (line 79) | class OneEventStream < EventStream
      method initialize (line 80) | def initialize(time, record)
      method dup (line 85) | def dup
      method empty? (line 89) | def empty?
      method size (line 93) | def size
      method repeatable? (line 97) | def repeatable?
      method slice (line 101) | def slice(index, num)
      method each (line 109) | def each(unpacker: nil, &block)
    class ArrayEventStream (line 119) | class ArrayEventStream < EventStream
      method initialize (line 120) | def initialize(entries)
      method dup (line 124) | def dup
      method size (line 129) | def size
      method repeatable? (line 133) | def repeatable?
      method empty? (line 137) | def empty?
      method slice (line 141) | def slice(index, num)
      method each (line 145) | def each(unpacker: nil, &block)
    class MultiEventStream (line 161) | class MultiEventStream < EventStream
      method initialize (line 162) | def initialize(time_array = [], record_array = [])
      method dup (line 167) | def dup
      method size (line 171) | def size
      method add (line 175) | def add(time, record)
      method repeatable? (line 180) | def repeatable?
      method empty? (line 184) | def empty?
      method slice (line 188) | def slice(index, num)
      method each (line 192) | def each(unpacker: nil, &block)
    class MessagePackEventStream (line 202) | class MessagePackEventStream < EventStream
      method initialize (line 206) | def initialize(data, cached_unpacker = nil, size = 0, unpacked_times...
      method empty? (line 213) | def empty?
      method dup (line 217) | def dup
      method size (line 225) | def size
      method repeatable? (line 232) | def repeatable?
      method ensure_unpacked! (line 236) | def ensure_unpacked!(unpacker: nil)
      method slice (line 251) | def slice(index, num)
      method each (line 256) | def each(unpacker: nil, &block)
      method to_msgpack_stream (line 264) | def to_msgpack_stream(time_int: false, packer: nil)
    class CompressedMessagePackEventStream (line 270) | class CompressedMessagePackEventStream < MessagePackEventStream
      method initialize (line 271) | def initialize(data, cached_unpacker = nil, size = 0, unpacked_times...
      method empty? (line 278) | def empty?
      method ensure_unpacked! (line 283) | def ensure_unpacked!(unpacker: nil)
      method each (line 288) | def each(unpacker: nil, &block)
      method to_msgpack_stream (line 293) | def to_msgpack_stream(time_int: false, packer: nil)
      method to_compressed_msgpack_stream (line 298) | def to_compressed_msgpack_stream(time_int: false, packer: nil)
      method ensure_decompressed! (line 305) | def ensure_decompressed!
    type ChunkMessagePackEventStreamer (line 311) | module ChunkMessagePackEventStreamer
      function each (line 314) | def each(unpacker: nil, &block)
      function to_msgpack_stream (line 326) | def to_msgpack_stream(time_int: false, packer: nil)

FILE: lib/fluent/event_router.rb
  type Fluent (line 22) | module Fluent
    class EventRouter (line 44) | class EventRouter
      method initialize (line 45) | def initialize(default_collector, emit_error_handler)
      class Rule (line 57) | class Rule
        method initialize (line 58) | def initialize(pattern, collector)
        method match? (line 69) | def match?(tag)
      method suppress_missing_match! (line 77) | def suppress_missing_match!
      method add_rule (line 84) | def add_rule(pattern, collector)
      method add_metric_callbacks (line 88) | def add_metric_callbacks(caller_plugin_id, callback)
      method caller_plugin_id= (line 92) | def caller_plugin_id=(caller_plugin_id)
      method find_callback (line 96) | def find_callback
      method emit (line 104) | def emit(tag, time, record)
      method emit_array (line 110) | def emit_array(tag, array)
      method emit_stream (line 114) | def emit_stream(tag, es)
      method emit_error_event (line 125) | def emit_error_event(tag, time, record, error)
      method match? (line 129) | def match?(tag)
      method match (line 133) | def match(tag)
      class MatchCache (line 140) | class MatchCache
        method initialize (line 143) | def initialize
        method get (line 149) | def get(key)
      class Pipeline (line 165) | class Pipeline
        class OutputError (line 167) | class OutputError < StandardError
          method initialize (line 171) | def initialize(internal_error, processed_es)
        method initialize (line 177) | def initialize
        method add_filter (line 183) | def add_filter(filter)
        method set_output (line 188) | def set_output(output)
        method emit_events (line 192) | def emit_events(tag, es)
        class FilterOptimizer (line 202) | class FilterOptimizer
          method initialize (line 203) | def initialize(filters = [])
          method filters= (line 208) | def filters=(filters)
          method filter_stream (line 213) | def filter_stream(tag, es)
          method optimized_filter_stream (line 227) | def optimized_filter_stream(tag, es)
          method optimizable? (line 260) | def optimizable?
          method filters_having_filter_stream (line 274) | def filters_having_filter_stream
          method reset_optimization (line 280) | def reset_optimization
      method find (line 287) | def find(tag)

FILE: lib/fluent/file_wrapper.rb
  type Fluent (line 22) | module Fluent
    type FileWrapper (line 23) | module FileWrapper
      function open (line 24) | def self.open(path, mode='r')
      function stat (line 35) | def self.stat(path)
    class WindowsFile (line 43) | class WindowsFile
      method initialize (line 50) | def initialize(path, mode_enc='r')
      method close (line 62) | def close
      method ino (line 72) | def ino
      method stat (line 82) | def stat
      method mode2flags (line 92) | def mode2flags(mode)
      method delete_pending (line 124) | def delete_pending

FILE: lib/fluent/filter.rb
  type Fluent (line 19) | module Fluent

FILE: lib/fluent/fluent_log_event_router.rb
  type Fluent (line 19) | module Fluent
    class NullFluentLogEventRouter (line 21) | class NullFluentLogEventRouter
      method start (line 22) | def start; end
      method stop (line 24) | def stop; end
      method graceful_stop (line 26) | def graceful_stop; end
      method emit_event (line 28) | def emit_event(_event); end
      method emittable? (line 30) | def emittable?
    class FluentLogEventRouter (line 37) | class FluentLogEventRouter < NullFluentLogEventRouter
      method build (line 39) | def self.build(root_agent)
      method initialize (line 85) | def initialize(event_router)
      method start (line 92) | def start
      method stop (line 123) | def stop
      method graceful_stop (line 129) | def graceful_stop
      method emit_event (line 135) | def emit_event(event)

FILE: lib/fluent/formatter.rb
  type Fluent (line 19) | module Fluent

FILE: lib/fluent/input.rb
  type Fluent (line 19) | module Fluent

FILE: lib/fluent/label.rb
  type Fluent (line 19) | module Fluent
    class Label (line 20) | class Label < Agent
      method initialize (line 21) | def initialize(name, log:)
      method configure (line 30) | def configure(conf)
      method emit_error_event (line 38) | def emit_error_event(tag, time, record, e)
      method handle_emits_error (line 42) | def handle_emits_error(tag, es, e)

FILE: lib/fluent/log.rb
  type Fluent (line 20) | module Fluent
    class Log (line 21) | class Log
      type TTYColor (line 22) | module TTYColor
      method str_to_level (line 56) | def self.str_to_level(log_level_str)
      method event_tags (line 68) | def self.event_tags
      method per_process_path (line 78) | def self.per_process_path(path, process_type, worker_id)
      method initialize (line 90) | def initialize(logger, opts={})
      method dup (line 167) | def dup
      method logdev= (line 193) | def logdev=(logdev)
      method format= (line 199) | def format=(fmt)
      method time_format= (line 231) | def time_format=(time_fmt)
      method stdout? (line 236) | def stdout?
      method reopen! (line 240) | def reopen!
      method force_stacktrace_level? (line 245) | def force_stacktrace_level?
      method force_stacktrace_level (line 249) | def force_stacktrace_level(level)
      method enable_debug (line 253) | def enable_debug(b=true)
      method enable_event (line 258) | def enable_event(b=true)
      method disable_events (line 265) | def disable_events(thread)
      method enable_color? (line 270) | def enable_color?
      method enable_color (line 274) | def enable_color(b=true)
      method log_type (line 295) | def log_type(args)
      method skipped_type? (line 304) | def skipped_type?(type)
      method on_trace (line 317) | def on_trace
      method trace (line 322) | def trace(*args, &block)
      method trace_backtrace (line 335) | def trace_backtrace(backtrace=$!.backtrace, type: :default)
      method on_debug (line 339) | def on_debug
      method debug (line 344) | def debug(*args, &block)
      method debug_backtrace (line 356) | def debug_backtrace(backtrace=$!.backtrace, type: :default)
      method on_info (line 360) | def on_info
      method info (line 365) | def info(*args, &block)
      method info_backtrace (line 377) | def info_backtrace(backtrace=$!.backtrace, type: :default)
      method on_warn (line 381) | def on_warn
      method warn (line 386) | def warn(*args, &block)
      method warn_backtrace (line 398) | def warn_backtrace(backtrace=$!.backtrace, type: :default)
      method on_error (line 402) | def on_error
      method error (line 407) | def error(*args, &block)
      method error_backtrace (line 419) | def error_backtrace(backtrace=$!.backtrace, type: :default)
      method on_fatal (line 423) | def on_fatal
      method fatal (line 428) | def fatal(*args, &block)
      method fatal_backtrace (line 440) | def fatal_backtrace(backtrace=$!.backtrace, type: :default)
      method puts (line 444) | def puts(msg)
      method write (line 453) | def write(data)
      method flush (line 460) | def flush
      method reset (line 464) | def reset
      method ignore_repeated_log? (line 470) | def ignore_repeated_log?(key, time, message)
      method ignore_same_log? (line 476) | def ignore_same_log?(time, message)
      method suppress_stacktrace? (line 504) | def suppress_stacktrace?(backtrace)
      method dump_stacktrace (line 510) | def dump_stacktrace(type, backtrace, level)
      method dump_stacktrace_internal (line 520) | def dump_stacktrace_internal(type, backtrace, level)
      method get_worker_id (line 563) | def get_worker_id(type)
      method event (line 571) | def event(level, args)
      method caller_line (line 617) | def caller_line(type, time, depth, level)
      method format_time (line 636) | def format_time(time)
    class PluginLogger (line 647) | class PluginLogger < Log
      method initialize (line 648) | def initialize(logger)
      method level= (line 671) | def level=(log_level_str)
      method format= (line 679) | def format=(fmt)
      method time_format= (line 684) | def time_format=(fmt)
      method enable_color (line 689) | def enable_color(b = true)
    type PluginLoggerMixin (line 702) | module PluginLoggerMixin
      function included (line 703) | def self.included(klass)
      function initialize (line 710) | def initialize
      function configure (line 718) | def configure(conf)
      function terminate (line 735) | def terminate
    class LogDeviceIO (line 743) | class LogDeviceIO < ::Logger::LogDevice
      method flush (line 744) | def flush
      method tty? (line 752) | def tty?
      method sync= (line 760) | def sync=(v)
      method reopen (line 768) | def reopen(path, mode)

FILE: lib/fluent/log/console_adapter.rb
  type Fluent (line 19) | module Fluent
    class Log (line 20) | class Log
      class ConsoleAdapter (line 24) | class ConsoleAdapter < Console::Output::Terminal
        method wrap (line 25) | def self.wrap(logger)
        method initialize (line 36) | def initialize(logger)
        method call (line 51) | def call(subject = nil, *arguments, name: nil, severity: 'info', *...

FILE: lib/fluent/match.rb
  type Fluent (line 17) | module Fluent
    class MatchPattern (line 18) | class MatchPattern
      method create (line 19) | def self.create(str)
    class AllMatchPattern (line 28) | class AllMatchPattern < MatchPattern
      method match (line 29) | def match(str)
    class GlobMatchPattern (line 34) | class GlobMatchPattern < MatchPattern
      method initialize (line 35) | def initialize(pat)
      method match (line 136) | def match(str)
    class OrMatchPattern (line 141) | class OrMatchPattern < MatchPattern
      method initialize (line 142) | def initialize(patterns)
      method match (line 146) | def match(str)
    class NoMatchMatch (line 151) | class NoMatchMatch
      method initialize (line 152) | def initialize(log)
      method suppress_missing_match! (line 158) | def suppress_missing_match!
      method emit_events (line 163) | def emit_events(tag, es)
      method start (line 181) | def start
      method shutdown (line 184) | def shutdown

FILE: lib/fluent/mixin.rb
  type Fluent (line 25) | module Fluent

FILE: lib/fluent/msgpack_factory.rb
  type Fluent (line 20) | module Fluent
    type MessagePackFactory (line 21) | module MessagePackFactory
      type Mixin (line 24) | module Mixin
        function msgpack_factory (line 25) | def msgpack_factory
        function msgpack_packer (line 32) | def msgpack_packer(*args)
        function msgpack_unpacker (line 39) | def msgpack_unpacker(*args)
        function deprecated_log (line 46) | def deprecated_log(str)
      function engine_factory (line 54) | def self.engine_factory(enable_time_support: false)
      function msgpack_packer (line 58) | def self.msgpack_packer(*args)
      function msgpack_unpacker (line 62) | def self.msgpack_unpacker(*args)
      function factory (line 66) | def self.factory(enable_time_support: false)
      function packer (line 78) | def self.packer(*args)
      function unpacker (line 82) | def self.unpacker(*args)
      function init (line 86) | def self.init(enable_time_support: false)
      function thread_local_msgpack_packer (line 98) | def self.thread_local_msgpack_packer
      function thread_local_msgpack_unpacker (line 102) | def self.thread_local_msgpack_unpacker

FILE: lib/fluent/oj_options.rb
  type Fluent (line 3) | module Fluent
    class OjOptions (line 4) | class OjOptions
      method available? (line 24) | def self.available?
      method load_env (line 28) | def self.load_env
      method get_options (line 42) | def self.get_options

FILE: lib/fluent/output.rb
  type Fluent (line 20) | module Fluent

FILE: lib/fluent/output_chain.rb
  type Fluent (line 19) | module Fluent

FILE: lib/fluent/parser.rb
  type Fluent (line 19) | module Fluent

FILE: lib/fluent/plugin.rb
  type Fluent (line 20) | module Fluent
    type Plugin (line 21) | module Plugin
      function register_input (line 43) | def self.register_input(type, klass)
      function register_output (line 47) | def self.register_output(type, klass)
      function register_filter (line 51) | def self.register_filter(type, klass)
      function register_buffer (line 55) | def self.register_buffer(type, klass)
      function register_sd (line 59) | def self.register_sd(type, klass)
      function register_metrics (line 63) | def self.register_metrics(type, klass)
      function register_parser (line 67) | def self.register_parser(type, klass_or_proc)
      function register_formatter (line 77) | def self.register_formatter(type, klass_or_proc)
      function register_storage (line 87) | def self.register_storage(type, klass)
      function lookup_type_from_class (line 91) | def self.lookup_type_from_class(klass_or_its_name)
      function add_plugin_dir (line 102) | def self.add_plugin_dir(dir)
      function new_input (line 109) | def self.new_input(type)
      function new_output (line 113) | def self.new_output(type)
      function new_filter (line 117) | def self.new_filter(type)
      function new_buffer (line 121) | def self.new_buffer(type, parent: nil)
      function new_sd (line 125) | def self.new_sd(type, parent: nil)
      function new_metrics (line 129) | def self.new_metrics(type, parent: nil)
      function new_parser (line 138) | def self.new_parser(type, parent: nil)
      function new_formatter (line 150) | def self.new_formatter(type, parent: nil)
      function new_storage (line 154) | def self.new_storage(type, parent: nil)
      function register_impl (line 158) | def self.register_impl(kind, registry, type, value)
      function new_impl (line 167) | def self.new_impl(kind, registry, type, parent=nil)
      type FeatureAvailabilityChecker (line 185) | module FeatureAvailabilityChecker
        function configure (line 186) | def configure(conf)

FILE: lib/fluent/plugin/bare_output.rb
  type Fluent (line 23) | module Fluent
    type Plugin (line 24) | module Plugin
      class BareOutput (line 25) | class BareOutput < Base
        method process (line 39) | def process(tag, es)
        method initialize (line 43) | def initialize
        method configure (line 53) | def configure(conf)
        method statistics (line 63) | def statistics
        method emit_sync (line 74) | def emit_sync(tag, es)

FILE: lib/fluent/plugin/base.rb
  type Fluent (line 21) | module Fluent
    type Plugin (line 22) | module Plugin
      class Base (line 23) | class Base
        method initialize (line 31) | def initialize
        method has_router? (line 41) | def has_router?
        method plugin_root_dir (line 45) | def plugin_root_dir
        method fluentd_worker_id (line 49) | def fluentd_worker_id
        method configure (line 55) | def configure(conf)
        method multi_workers_ready? (line 68) | def multi_workers_ready?
        method get_lock_path (line 72) | def get_lock_path(name)
        method acquire_worker_lock (line 77) | def acquire_worker_lock(name)
        method string_safe_encoding (line 90) | def string_safe_encoding(str)
        method context_router= (line 98) | def context_router=(router)
        method context_router (line 102) | def context_router
        method start (line 106) | def start
        method after_start (line 117) | def after_start
        method stop (line 122) | def stop
        method before_shutdown (line 127) | def before_shutdown
        method shutdown (line 132) | def shutdown
        method after_shutdown (line 137) | def after_shutdown
        method close (line 142) | def close
        method terminate (line 147) | def terminate
        method configured? (line 152) | def configured?
        method started? (line 156) | def started?
        method after_started? (line 160) | def after_started?
        method stopped? (line 164) | def stopped?
        method before_shutdown? (line 168) | def before_shutdown?
        method shutdown? (line 172) | def shutdown?
        method after_shutdown? (line 176) | def after_shutdown?
        method closed? (line 180) | def closed?
        method terminated? (line 184) | def terminated?
        method called_in_test? (line 188) | def called_in_test?
        method inspect (line 200) | def inspect
        method reloadable_plugin? (line 208) | def reloadable_plugin?

FILE: lib/fluent/plugin/buf_file.rb
  type Fluent (line 24) | module Fluent
    type Plugin (line 25) | module Plugin
      class FileBuffer (line 26) | class FileBuffer < Fluent::Plugin::Buffer
        method initialize (line 45) | def initialize
        method configure (line 54) | def configure(conf)
        method multi_workers_ready? (line 114) | def multi_workers_ready?
        method start (line 121) | def start
        method stop (line 127) | def stop
        method persistent? (line 135) | def persistent?
        method resume (line 139) | def resume
        method generate_chunk (line 205) | def generate_chunk(metadata)
        method handle_broken_files (line 214) | def handle_broken_files(path, mode, e)
        method evacuate_chunk (line 232) | def evacuate_chunk(chunk)
        method escaped_patterns (line 248) | def escaped_patterns(patterns)

FILE: lib/fluent/plugin/buf_file_single.rb
  type Fluent (line 24) | module Fluent
    type Plugin (line 25) | module Plugin
      class FileSingleBuffer (line 26) | class FileSingleBuffer < Fluent::Plugin::Buffer
        method initialize (line 51) | def initialize
        method configure (line 59) | def configure(conf)
        method multi_workers_ready? (line 135) | def multi_workers_ready?
        method start (line 142) | def start
        method stop (line 148) | def stop
        method persistent? (line 156) | def persistent?
        method resume (line 160) | def resume
        method generate_chunk (line 216) | def generate_chunk(metadata)
        method handle_broken_files (line 226) | def handle_broken_files(path, mode, e)
        method evacuate_chunk (line 244) | def evacuate_chunk(chunk)
        method escaped_patterns (line 260) | def escaped_patterns(patterns)

FILE: lib/fluent/plugin/buf_memory.rb
  type Fluent (line 20) | module Fluent
    type Plugin (line 21) | module Plugin
      class MemoryBuffer (line 22) | class MemoryBuffer < Fluent::Plugin::Buffer
        method resume (line 25) | def resume
        method generate_chunk (line 29) | def generate_chunk(metadata)

FILE: lib/fluent/plugin/buffer.rb
  type Fluent (line 24) | module Fluent
    type Plugin (line 25) | module Plugin
      class Buffer (line 26) | class Buffer < Base
        class BufferError (line 33) | class BufferError < StandardError; end
        class BufferOverflowError (line 34) | class BufferOverflowError < BufferError; end
        class BufferChunkOverflowError (line 35) | class BufferChunkOverflowError < BufferError; end
        method initialize (line 73) | def initialize(timekey, tag, variables)
        method dup_next (line 77) | def dup_next
        method empty? (line 83) | def empty?
        method cmp_variables (line 87) | def cmp_variables(v1, v2)
        method <=> (line 123) | def <=>(o)
        method hash (line 160) | def hash
        method initialize (line 172) | def initialize
        method stage_size (line 201) | def stage_size
        method stage_size= (line 205) | def stage_size=(value)
        method queue_size (line 209) | def queue_size
        method queue_size= (line 213) | def queue_size=(value)
        method persistent? (line 217) | def persistent?
        method configure (line 221) | def configure(conf)
        method enable_update_timekeys (line 251) | def enable_update_timekeys
        method start (line 255) | def start
        method close (line 271) | def close
        method terminate (line 287) | def terminate
        method storable? (line 296) | def storable?
        method resume (line 305) | def resume
        method generate_chunk (line 310) | def generate_chunk(metadata)
        method new_metadata (line 314) | def new_metadata(timekey: nil, tag: nil, variables: nil)
        method metadata (line 319) | def metadata(timekey: nil, tag: nil, variables: nil)
        method timekeys (line 323) | def timekeys
        method write (line 330) | def write(metadata_and_data, format: nil, size: nil, enqueue: false)
        method queue_full? (line 464) | def queue_full?
        method queued_records (line 468) | def queued_records
        method queued? (line 472) | def queued?(metadata = nil, optimistic: false)
        method enqueue_chunk (line 482) | def enqueue_chunk(metadata)
        method enqueue_unstaged_chunk (line 508) | def enqueue_unstaged_chunk(chunk)
        method update_timekeys (line 523) | def update_timekeys
        method enqueue_all (line 537) | def enqueue_all(force_enqueue = false)
        method dequeue_chunk (line 559) | def dequeue_chunk
        method takeback_chunk (line 578) | def takeback_chunk(chunk_id)
        method purge_chunk (line 592) | def purge_chunk(chunk_id)
        method clear_queue! (line 621) | def clear_queue!
        method evacuate_chunk (line 640) | def evacuate_chunk(chunk)
        method chunk_size_over? (line 659) | def chunk_size_over?(chunk)
        method chunk_size_full? (line 663) | def chunk_size_full?(chunk)
        class ShouldRetry (line 667) | class ShouldRetry < StandardError; end
        method write_once (line 675) | def write_once(metadata, data, format: nil, size: nil, &block)
        method write_step_by_step (line 751) | def write_step_by_step(metadata, data, format, splits_count, &block)
        method statistics (line 911) | def statistics
        method backup (line 940) | def backup(chunk_unique_id)
        method optimistic_queued? (line 958) | def optimistic_queued?(metadata = nil)
        method safe_owner_id (line 967) | def safe_owner_id
        method backup_base_dir (line 971) | def backup_base_dir

FILE: lib/fluent/plugin/buffer/chunk.rb
  type Fluent (line 26) | module Fluent
    type Plugin (line 27) | module Plugin
      class Buffer (line 28) | class Buffer # fluent/plugin/buffer is already loaded
        class Chunk (line 29) | class Chunk
          method initialize (line 51) | def initialize(metadata, compress: :text)
          method raw_create_at (line 71) | def raw_create_at
          method raw_modified_at (line 75) | def raw_modified_at
          method created_at (line 80) | def created_at
          method modified_at (line 85) | def modified_at
          method append (line 90) | def append(data, **kwargs)
          method concat (line 107) | def concat(bulk, records)
          method commit (line 111) | def commit
          method rollback (line 115) | def rollback
          method bytesize (line 119) | def bytesize
          method size (line 123) | def size
          method empty? (line 128) | def empty?
          method writable? (line 132) | def writable?
          method unstaged? (line 136) | def unstaged?
          method staged? (line 140) | def staged?
          method queued? (line 144) | def queued?
          method closed? (line 148) | def closed?
          method staged! (line 152) | def staged!
          method unstaged! (line 157) | def unstaged!
          method enqueued! (line 162) | def enqueued!
          method close (line 167) | def close
          method purge (line 172) | def purge
          method read (line 177) | def read(**kwargs)
          method open (line 182) | def open(**kwargs, &block)
          method write_to (line 187) | def write_to(io, **kwargs)
          type GzipDecompressable (line 194) | module GzipDecompressable
            function append (line 197) | def append(data, **kwargs)
            function open (line 211) | def open(**kwargs, &block)
            function read (line 229) | def read(**kwargs)
            function write_to (line 237) | def write_to(io, **kwargs)
          type ZstdDecompressable (line 248) | module ZstdDecompressable
            function append (line 251) | def append(data, **kwargs)
            function open (line 265) | def open(**kwargs, &block)
            function read (line 283) | def read(**kwargs)
            function write_to (line 291) | def write_to(io, **kwargs)

FILE: lib/fluent/plugin/buffer/file_chunk.rb
  type Fluent (line 21) | module Fluent
    type Plugin (line 22) | module Plugin
      class Buffer (line 23) | class Buffer
        class FileChunk (line 24) | class FileChunk < Chunk
          class FileChunkError (line 25) | class FileChunkError < StandardError; end
          method initialize (line 42) | def initialize(metadata, path, mode, perm: nil, compress: :text)
          method concat (line 58) | def concat(bulk, bulk_size)
          method commit (line 68) | def commit
          method rollback (line 81) | def rollback
          method bytesize (line 90) | def bytesize
          method size (line 94) | def size
          method empty? (line 98) | def empty?
          method enqueued! (line 102) | def enqueued!
          method close (line 146) | def close
          method purge (line 156) | def purge
          method read (line 164) | def read(**kwargs)
          method open (line 169) | def open(**kwargs, &block)
          method assume_chunk_state (line 176) | def self.assume_chunk_state(path)
          method generate_stage_chunk_path (line 186) | def self.generate_stage_chunk_path(path, unique_id)
          method generate_queued_chunk_path (line 198) | def self.generate_queued_chunk_path(path, unique_id)
          method unique_id_from_path (line 208) | def self.unique_id_from_path(path)
          method restore_metadata (line 215) | def restore_metadata(bindata)
          method restore_metadata_partially (line 240) | def restore_metadata_partially(chunk)
          method write_metadata (line 252) | def write_metadata(update: true)
          method file_rename (line 265) | def file_rename(file, old_path, new_path, callback=nil)
          method create_new_chunk (line 282) | def create_new_chunk(path, perm)
          method load_existing_staged_chunk (line 323) | def load_existing_staged_chunk(path)
          method load_existing_enqueued_chunk (line 373) | def load_existing_enqueued_chunk(path)
          method restore_metadata_with_new_format (line 400) | def restore_metadata_with_new_format(chunk)

FILE: lib/fluent/plugin/buffer/file_single_chunk.rb
  type Fluent (line 22) | module Fluent
    type Plugin (line 23) | module Plugin
      class Buffer (line 24) | class Buffer
        class FileSingleChunk (line 25) | class FileSingleChunk < Chunk
          class FileChunkError (line 26) | class FileChunkError < StandardError; end
          method initialize (line 38) | def initialize(metadata, path, mode, key, perm: Fluent::DEFAULT_...
          method concat (line 54) | def concat(bulk, bulk_size)
          method commit (line 64) | def commit
          method rollback (line 74) | def rollback
          method bytesize (line 83) | def bytesize
          method size (line 87) | def size
          method empty? (line 91) | def empty?
          method enqueued! (line 95) | def enqueued!
          method close (line 121) | def close
          method purge (line 130) | def purge
          method read (line 137) | def read(**kwargs)
          method open (line 142) | def open(**kwargs, &block)
          method assume_chunk_state (line 149) | def self.assume_chunk_state(path)
          method unique_id_and_key_from_path (line 161) | def self.unique_id_and_key_from_path(path)
          method generate_stage_chunk_path (line 172) | def self.generate_stage_chunk_path(path, key, unique_id)
          method generate_queued_chunk_path (line 183) | def self.generate_queued_chunk_path(path, unique_id)
          method restore_metadata (line 193) | def restore_metadata
          method restore_size (line 212) | def restore_size(chunk_format)
          method file_rename (line 224) | def file_rename(file, old_path, new_path, callback = nil)
          method encode_key (line 243) | def encode_key(metadata)
          method decode_key (line 249) | def decode_key(key)
          method create_new_chunk (line 253) | def create_new_chunk(path, metadata, perm)
          method load_existing_staged_chunk (line 273) | def load_existing_staged_chunk(path)
          method load_existing_enqueued_chunk (line 292) | def load_existing_enqueued_chunk(path)

FILE: lib/fluent/plugin/buffer/memory_chunk.rb
  type Fluent (line 19) | module Fluent
    type Plugin (line 20) | module Plugin
      class Buffer (line 21) | class Buffer
        class MemoryChunk (line 22) | class MemoryChunk < Chunk
          method initialize (line 23) | def initialize(metadata, compress: :text)
          method concat (line 31) | def concat(bulk, bulk_size)
          method commit (line 41) | def commit
          method rollback (line 51) | def rollback
          method bytesize (line 57) | def bytesize
          method size (line 61) | def size
          method empty? (line 65) | def empty?
          method purge (line 69) | def purge
          method read (line 76) | def read(**kwargs)
          method open (line 80) | def open(**kwargs, &block)
          method write_to (line 84) | def write_to(io, **kwargs)

FILE: lib/fluent/plugin/compressable.rb
  type Fluent (line 21) | module Fluent
    type Plugin (line 22) | module Plugin
      type Compressable (line 23) | module Compressable
        function compress (line 24) | def compress(data, type: :gzip, **kwargs)
        function decompress (line 41) | def decompress(compressed_data = nil, output_io: nil, input_io: ni...
        function string_decompress_gzip (line 63) | def string_decompress_gzip(compressed_data)
        function string_decompress_zstd (line 80) | def string_decompress_zstd(compressed_data)
        function string_decompress (line 93) | def string_decompress(compressed_data, type = :gzip)
        function io_decompress_gzip (line 103) | def io_decompress_gzip(input, output)
        function io_decompress_zstd (line 119) | def io_decompress_zstd(input, output)
        function io_decompress (line 131) | def io_decompress(input, output, type = :gzip)

FILE: lib/fluent/plugin/exec_util.rb
  type Fluent (line 19) | module Fluent

FILE: lib/fluent/plugin/file_util.rb
  type Fluent (line 19) | module Fluent

FILE: lib/fluent/plugin/filter.rb
  type Fluent (line 24) | module Fluent
    type Plugin (line 25) | module Plugin
      class Filter (line 26) | class Filter < Base
        method initialize (line 35) | def initialize
        method configure (line 44) | def configure(conf)
        method statistics (line 52) | def statistics
        method measure_metrics (line 61) | def measure_metrics(es)
        method filter (line 66) | def filter(tag, time, record)
        method filter_with_time (line 70) | def filter_with_time(tag, time, record)
        method filter_stream (line 74) | def filter_stream(tag, es)
        method has_filter_with_time? (line 100) | def has_filter_with_time?

FILE: lib/fluent/plugin/filter_grep.rb
  type Fluent::Plugin (line 21) | module Fluent::Plugin
    class GrepFilter (line 22) | class GrepFilter < Filter
      method initialize (line 25) | def initialize
      method configure (line 88) | def configure(conf)
      method filter (line 162) | def filter(tag, time, record)
      method match? (line 184) | def match?(record)

FILE: lib/fluent/plugin/filter_parser.rb
  type Fluent::Plugin (line 23) | module Fluent::Plugin
    class ParserFilter (line 24) | class ParserFilter < Filter
      method configure (line 48) | def configure(conf)
      method filter_stream (line 59) | def filter_stream(tag, es)
      method filter_one_record (line 81) | def filter_one_record(tag, time, record, raw_value)
      method handle_parsed (line 113) | def handle_parsed(tag, record, t, values)

FILE: lib/fluent/plugin/filter_record_transformer.rb
  type Fluent::Plugin (line 26) | module Fluent::Plugin
    class RecordTransformerFilter (line 27) | class RecordTransformerFilter < Fluent::Plugin::Filter
      method configure (line 45) | def configure(conf)
      method filter_stream (line 84) | def filter_stream(tag, es)
      method parse_value (line 117) | def parse_value(value_str)
      method reform (line 128) | def reform(record, placeholder_values)
      method expand_placeholders (line 140) | def expand_placeholders(value, placeholders)
      method tag_prefix (line 160) | def tag_prefix(tag_parts)
      method tag_suffix (line 169) | def tag_suffix(tag_parts)
      class PlaceholderExpander (line 180) | class PlaceholderExpander
        method initialize (line 183) | def initialize(params)
        method time_value (line 188) | def time_value(time)
        method preprocess_map (line 192) | def preprocess_map(value, force_stringify = false)
        method prepare_placeholders (line 196) | def prepare_placeholders(placeholder_values)
        method expand (line 222) | def expand(str, placeholders, force_stringify = false)
        method log_if_unknown_placeholder (line 238) | def log_if_unknown_placeholder(placeholder, placeholders)
      class RubyPlaceholderExpander (line 246) | class RubyPlaceholderExpander
        method initialize (line 249) | def initialize(params)
        method time_value (line 255) | def time_value(time)
        method preprocess_map (line 263) | def preprocess_map(value, force_stringify = false)
        method prepare_placeholders (line 291) | def prepare_placeholders(placeholder_values)
        method expand (line 298) | def expand(str, placeholders, force_stringify = false)
        class CleanroomExpander (line 313) | class CleanroomExpander
          method expand (line 314) | def expand(__str_to_eval__, tag, time, record, tag_parts, tag_pr...

FILE: lib/fluent/plugin/filter_stdout.rb
  type Fluent::Plugin (line 19) | module Fluent::Plugin
    class StdoutFilter (line 20) | class StdoutFilter < Filter
      method configure (line 34) | def configure(conf)
      method filter_stream (line 40) | def filter_stream(tag, es)

FILE: lib/fluent/plugin/formatter.rb
  type Fluent (line 22) | module Fluent
    type Plugin (line 23) | module Plugin
      class Formatter (line 24) | class Formatter < Base
        method formatter_type (line 31) | def formatter_type
        method format (line 35) | def format(tag, time, record)
      class ProcWrappedFormatter (line 40) | class ProcWrappedFormatter < Formatter
        method initialize (line 41) | def initialize(proc)
        method format (line 46) | def format(tag, time, record)
      type Newline (line 51) | module Newline
        type Mixin (line 52) | module Mixin
          function configure (line 63) | def configure(conf)

FILE: lib/fluent/plugin/formatter_csv.rb
  type Fluent (line 21) | module Fluent
    type Plugin (line 22) | module Plugin
      class CsvFormatter (line 23) | class CsvFormatter < Formatter
        method csv_cacheable? (line 38) | def csv_cacheable?
        method csv_thread_key (line 42) | def csv_thread_key
        method csv_for_thread (line 46) | def csv_for_thread
        method configure (line 54) | def configure(conf)
        method format (line 72) | def format(tag, time, record)
        method format_with_nested_fields (line 81) | def format_with_nested_fields(tag, time, record)

FILE: lib/fluent/plugin/formatter_hash.rb
  type Fluent (line 19) | module Fluent
    type Plugin (line 20) | module Plugin
      class HashFormatter (line 21) | class HashFormatter < Formatter
        method format (line 28) | def format(tag, time, record)

FILE: lib/fluent/plugin/formatter_json.rb
  type Fluent (line 20) | module Fluent
    type Plugin (line 21) | module Plugin
      class JSONFormatter (line 22) | class JSONFormatter < Formatter
        method configure (line 30) | def configure(conf)
        method format (line 50) | def format(tag, time, record)
        method format_without_nl (line 57) | def format_without_nl(tag, time, record)

FILE: lib/fluent/plugin/formatter_ltsv.rb
  type Fluent (line 19) | module Fluent
    type Plugin (line 20) | module Plugin
      class LabeledTSVFormatter (line 21) | class LabeledTSVFormatter < Formatter
        method format (line 33) | def format(tag, time, record)

FILE: lib/fluent/plugin/formatter_msgpack.rb
  type Fluent (line 19) | module Fluent
    type Plugin (line 20) | module Plugin
      class MessagePackFormatter (line 21) | class MessagePackFormatter < Formatter
        method formatter_type (line 24) | def formatter_type
        method format (line 28) | def format(tag, time, record)

FILE: lib/fluent/plugin/formatter_out_file.rb
  type Fluent (line 21) | module Fluent
    type Plugin (line 22) | module Plugin
      class OutFileFormatter (line 23) | class OutFileFormatter < Formatter
        method configure (line 40) | def configure(conf)
        method format (line 45) | def format(tag, time, record)

FILE: lib/fluent/plugin/formatter_single_value.rb
  type Fluent (line 19) | module Fluent
    type Plugin (line 20) | module Plugin
      class SingleValueFormatter (line 21) | class SingleValueFormatter < Formatter
        method format (line 29) | def format(tag, time, record)

FILE: lib/fluent/plugin/formatter_stdout.rb
  type Fluent (line 19) | module Fluent
    type Plugin (line 20) | module Plugin
      class StdoutFormatter (line 21) | class StdoutFormatter < Formatter
        method configure (line 28) | def configure(conf)
        method start (line 36) | def start
        method format (line 41) | def format(tag, time, record)
        method stop (line 45) | def stop
        method before_shutdown (line 50) | def before_shutdown
        method shutdown (line 55) | def shutdown
        method after_shutdown (line 60) | def after_shutdown
        method close (line 65) | def close
        method terminate (line 70) | def terminate

FILE: lib/fluent/plugin/formatter_tsv.rb
  type Fluent (line 19) | module Fluent
    type Plugin (line 20) | module Plugin
      class TSVFormatter (line 21) | class TSVFormatter < Formatter
        method format (line 33) | def format(tag, time, record)

FILE: lib/fluent/plugin/in_debug_agent.rb
  type Fluent::Plugin (line 19) | module Fluent::Plugin
    class DebugAgentInput (line 20) | class DebugAgentInput < Input
      method initialize (line 23) | def initialize
      method configure (line 35) | def configure(conf)
      method multi_workers_ready? (line 47) | def multi_workers_ready?
      method start (line 51) | def start
      method shutdown (line 65) | def shutdown

FILE: lib/fluent/plugin/in_exec.rb
  type Fluent::Plugin (line 20) | module Fluent::Plugin
    class ExecInput (line 21) | class ExecInput < Fluent::Plugin::Input
      method configure (line 53) | def configure(conf)
      method validate_encoding (line 72) | def validate_encoding(encoding)
      method multi_workers_ready? (line 78) | def multi_workers_ready?
      method start (line 82) | def start
      method run (line 95) | def run(io)
      method on_record (line 112) | def on_record(time, record)

FILE: lib/fluent/plugin/in_forward.rb
  type Fluent::Plugin (line 24) | module Fluent::Plugin
    class ForwardInput (line 25) | class ForwardInput < Input
      method configure (line 101) | def configure(conf)
      method multi_workers_ready? (line 160) | def multi_workers_ready?
      method start (line 166) | def start
      method handle_connection (line 193) | def handle_connection(conn)
      method read_messages (line 242) | def read_messages(conn, &block)
      method response (line 275) | def response(option)
      method on_message (line 282) | def on_message(msg, chunk_size, conn)
      method invalid_event? (line 367) | def invalid_event?(tag, time, record)
      method check_and_skip_invalid_event (line 371) | def check_and_skip_invalid_event(tag, es, remote_host)
      method add_source_info (line 383) | def add_source_info(es, conn)
      method select_authenticate_users (line 411) | def select_authenticate_users(node, username)
      method generate_salt (line 419) | def generate_salt
      method generate_helo (line 423) | def generate_helo(nonce, user_auth_salt)
      method check_ping (line 429) | def check_ping(message, remote_addr, user_auth_salt, nonce)
      method generate_pong (line 466) | def generate_pong(auth_result, reason_or_salt, nonce, shared_key)

FILE: lib/fluent/plugin/in_gc_stat.rb
  type Fluent::Plugin (line 19) | module Fluent::Plugin
    class GCStatInput (line 20) | class GCStatInput < Fluent::Plugin::Input
      method initialize (line 25) | def initialize
      method configure (line 34) | def configure(conf)
      method multi_workers_ready? (line 45) | def multi_workers_ready?
      method start (line 49) | def start
      method shutdown (line 55) | def shutdown
      method on_timer (line 59) | def on_timer

FILE: lib/fluent/plugin/in_http.rb
  type Fluent::Plugin (line 27) | module Fluent::Plugin
    class InHttpParser (line 28) | class InHttpParser < Parser
      method configure (line 33) | def configure(conf)
      method parse (line 44) | def parse(text)
      method get_time_parser (line 49) | def get_time_parser
    class HttpInput (line 54) | class HttpInput < Input
      method initialize (line 96) | def initialize
      method configure (line 114) | def configure(conf)
      class KeepaliveManager (line 152) | class KeepaliveManager < Coolio::TimerWatcher
        method initialize (line 153) | def initialize(timeout)
        method add (line 159) | def add(sock)
        method delete (line 163) | def delete(sock)
        method on_timer (line 167) | def on_timer
      method multi_workers_ready? (line 176) | def multi_workers_ready?
      method start (line 180) | def start
      method close (line 194) | def close
      method on_request (line 206) | def on_request(path_info, params)
      method on_server_connect (line 260) | def on_server_connect(conn)
      method parse_params_default (line 279) | def parse_params_default(params)
      method parse_params_with_parser (line 299) | def parse_params_with_parser(params)
      method add_params_to_record (line 309) | def add_params_to_record(record, params)
      method convert_time_field (line 331) | def convert_time_field(record)
      class Handler (line 343) | class Handler
        method initialize (line 346) | def initialize(io, km, callback, body_size_limit, format_name, log,
        method step_idle (line 365) | def step_idle
        method on_close (line 369) | def on_close
        method on_read (line 373) | def on_read(data)
        method on_message_begin (line 382) | def on_message_begin
        method on_headers_complete (line 386) | def on_headers_complete(headers)
        method on_body (line 440) | def on_body(chunk)
        method handle_get_request (line 455) | def handle_get_request
        method handle_options_request (line 461) | def handle_options_request
        method on_message_complete (line 492) | def on_message_complete
        method close (line 590) | def close
        method on_write_complete (line 594) | def on_write_complete
        method send_response_and_close (line 598) | def send_response_and_close(code, header, body)
        method closing? (line 603) | def closing?
        method send_response (line 607) | def send_response(code, header, body)
        method send_response_nobody (line 621) | def send_response_nobody(code, header)
        method include_cors_allow_origin (line 630) | def include_cors_allow_origin
        method parse_query (line 647) | def parse_query(query)

FILE: lib/fluent/plugin/in_monitor_agent.rb
  type Fluent::Plugin (line 25) | module Fluent::Plugin
    class MonitorAgentInput (line 26) | class MonitorAgentInput < Input
      class APIHandler (line 44) | class APIHandler
        method initialize (line 45) | def initialize(agent)
        method plugins_ltsv (line 49) | def plugins_ltsv(req)
        method plugins_json (line 55) | def plugins_json(req)
        method config_ltsv (line 62) | def config_ltsv(_req)
        method config_json (line 72) | def config_json(req)
        method render_error_json (line 85) | def render_error_json(code:, msg:, pretty_json: nil, **additional_...
        method render_json (line 90) | def render_json(obj, code: 200, pretty_json: nil)
        method render_ltsv (line 101) | def render_ltsv(obj, code: 200)
        method build_object (line 122) | def build_object(opts)
        method build_option (line 149) | def build_option(req)
      method initialize (line 182) | def initialize
      method configure (line 188) | def configure(conf)
      method multi_workers_ready? (line 193) | def multi_workers_ready?
      class NotFoundJson (line 197) | class NotFoundJson
        method call (line 199) | def self.call(_req)
      method start (line 204) | def start
      method all_plugins (line 240) | def all_plugins
      method plugin_info_by_tag (line 263) | def plugin_info_by_tag(tag, opts={})
      method plugin_info_by_id (line 276) | def plugin_info_by_id(plugin_id, opts={})
      method plugins_info_by_type (line 289) | def plugins_info_by_type(type, opts={})
      method plugins_info_all (line 298) | def plugins_info_all(opts={})
      method get_monitor_info (line 307) | def get_monitor_info(pe, opts={})
      method get_retry_info (line 370) | def get_retry_info(pe_retry)
      method plugin_category (line 382) | def plugin_category(pe)
      method fluentd_opts (line 395) | def fluentd_opts
      method get_fluentd_opts (line 399) | def get_fluentd_opts

FILE: lib/fluent/plugin/in_object_space.rb
  type Fluent::Plugin (line 21) | module Fluent::Plugin
    class ObjectSpaceInput (line 22) | class ObjectSpaceInput < Fluent::Plugin::Input
      method initialize (line 27) | def initialize
      method multi_workers_ready? (line 35) | def multi_workers_ready?
      method start (line 39) | def start
      class Counter (line 45) | class Counter
        method initialize (line 46) | def initialize(klass, init_count)
        method incr! (line 51) | def incr!
        method name (line 55) | def name
      method on_timer (line 62) | def on_timer

FILE: lib/fluent/plugin/in_sample.rb
  type Fluent::Plugin (line 22) | module Fluent::Plugin
    class SampleInput (line 23) | class SampleInput < Input
      method initialize (line 61) | def initialize
      method configure (line 66) | def configure(conf)
      method multi_workers_ready? (line 73) | def multi_workers_ready?
      method start (line 77) | def start
      method run (line 91) | def run
      method emit (line 108) | def emit(num)
      method next_sample (line 122) | def next_sample
      method generate (line 131) | def generate
      method wait (line 140) | def wait(time)

FILE: lib/fluent/plugin/in_syslog.rb
  type Fluent::Plugin (line 23) | module Fluent::Plugin
    class SyslogInput (line 24) | class SyslogInput < Input
      method configure (line 119) | def configure(conf)
      method multi_workers_ready? (line 155) | def multi_workers_ready?
      method zero_downtime_restart_ready? (line 159) | def zero_downtime_restart_ready?
      method start (line 163) | def start
      method start_udp_server (line 176) | def start_udp_server
      method start_tcp_server (line 182) | def start_tcp_server(tls: false)
      method emit_unmatched (line 222) | def emit_unmatched(data, sock)
      method message_handler (line 229) | def message_handler(data, sock)
      method emit (line 274) | def emit(tag, time, record)

FILE: lib/fluent/plugin/in_tail.rb
  type Fluent::Plugin (line 30) | module Fluent::Plugin
    class TailInput (line 31) | class TailInput < Fluent::Plugin::Input
      class WatcherSetupError (line 41) | class WatcherSetupError < StandardError
        method initialize (line 42) | def initialize(msg)
        method to_s (line 46) | def to_s
      method initialize (line 51) | def initialize
      method configure (line 127) | def configure(conf)
      method check_dir_permission (line 220) | def check_dir_permission
      method configure_tag (line 234) | def configure_tag
      method configure_encoding (line 245) | def configure_encoding
      method parse_encoding_param (line 259) | def parse_encoding_param(encoding_name)
      method start (line 267) | def start
      method stop (line 289) | def stop
      method shutdown (line 297) | def shutdown
      method close (line 309) | def close
      method have_read_capability? (line 316) | def have_read_capability?
      method extended_glob_pattern (line 321) | def extended_glob_pattern(path)
      method use_glob? (line 329) | def use_glob?(path)
      method expand_paths_raw (line 343) | def expand_paths_raw
      method expand_paths (line 392) | def expand_paths
      method existence_path (line 414) | def existence_path
      method refresh_watchers (line 431) | def refresh_watchers
      method setup_watcher (line 485) | def setup_watcher(target_info, pe)
      method construct_watcher (line 519) | def construct_watcher(target_info)
      method start_watchers (line 547) | def start_watchers(targets_info)
      method stop_watchers (line 554) | def stop_watchers(targets_info, immediate: false, unwatched: false, ...
      method close_watcher_handles (line 574) | def close_watcher_handles
      method update_watcher (line 587) | def update_watcher(tail_watcher, pe, new_inode)
      method detach_watcher (line 638) | def detach_watcher(tw, ino, close_io = true)
      method throttling_is_enabled? (line 656) | def throttling_is_enabled?(tw)
      method detach_watcher_after_rotate_wait (line 662) | def detach_watcher_after_rotate_wait(tw, ino)
      method flush_buffer (line 695) | def flush_buffer(tw, buf)
      method receive_lines (line 723) | def receive_lines(lines, tail_watcher)
      method convert_line_to_event (line 744) | def convert_line_to_event(line, es, tail_watcher)
      method parse_singleline (line 766) | def parse_singleline(lines, tail_watcher)
      method parse_multilines (line 775) | def parse_multilines(lines, tail_watcher)
      method statistics (line 813) | def statistics
      method io_handler (line 830) | def io_handler(watcher, path)
      class StatWatcher (line 856) | class StatWatcher < Coolio::StatWatcher
        method initialize (line 857) | def initialize(path, log, &callback)
        method on_change (line 863) | def on_change(prev, cur)
      class TimerTrigger (line 871) | class TimerTrigger < Coolio::TimerWatcher
        method initialize (line 872) | def initialize(interval, log, &callback)
        method on_timer (line 878) | def on_timer
      class TailWatcher (line 886) | class TailWatcher
        method initialize (line 887) | def initialize(target_info, pe, log, read_from_head, follow_inodes...
        method tag (line 910) | def tag
        method register_watcher (line 914) | def register_watcher(watcher)
        method detach (line 918) | def detach(shutdown_start_time = nil)
        method close (line 926) | def close
        method eof? (line 933) | def eof?
        method on_notify (line 937) | def on_notify
        method on_rotate (line 950) | def on_rotate(stat)
        method io_handler (line 1031) | def io_handler
        method swap_state (line 1035) | def swap_state(pe)
        class FIFO (line 1043) | class FIFO
          method initialize (line 1044) | def initialize(encoding, log, max_line_size=nil, encoding_to_con...
          method << (line 1056) | def <<(chunk)
          method convert (line 1060) | def convert(s)
          method read_lines (line 1070) | def read_lines(lines)
          method reading_bytesize (line 1121) | def reading_bytesize
        class IOHandler (line 1127) | class IOHandler
          method initialize (line 1133) | def initialize(watcher, path:, read_lines_limit:, read_bytes_lim...
          method group_watcher (line 1157) | def group_watcher
          method on_notify (line 1161) | def on_notify
          method ready_to_shutdown (line 1165) | def ready_to_shutdown(shutdown_start_time = nil)
          method close (line 1172) | def close
          method opened? (line 1180) | def opened?
          method eof? (line 1184) | def eof?
          method limit_bytes_per_second_reached? (line 1190) | def limit_bytes_per_second_reached?
          method should_shutdown_now? (line 1207) | def should_shutdown_now?
          method handle_notify (line 1216) | def handle_notify
          method open (line 1280) | def open
          method with_io (line 1295) | def with_io
        class NullIOHandler (line 1320) | class NullIOHandler
          method initialize (line 1321) | def initialize
          method io (line 1324) | def io
          method on_notify (line 1327) | def on_notify
          method close (line 1330) | def close
          method opened? (line 1333) | def opened?
          method eof? (line 1337) | def eof?
        class RotateHandler (line 1342) | class RotateHandler
          method initialize (line 1343) | def initialize(log, &on_rotate)
          method on_notify (line 1350) | def on_notify(stat)
        class LineBufferTimerFlusher (line 1370) | class LineBufferTimerFlusher
          method initialize (line 1373) | def initialize(log, flush_interval, &flush_method)
          method on_notify (line 1381) | def on_notify(tw)
          method close (line 1393) | def close(tw)
          method reset_timer (line 1400) | def reset_timer

FILE: lib/fluent/plugin/in_tail/group_watch.rb
  type Fluent::Plugin (line 19) | module Fluent::Plugin
    class TailInput (line 20) | class TailInput < Fluent::Plugin::Input
      type GroupWatchParams (line 21) | module GroupWatchParams
      type GroupWatch (line 46) | module GroupWatch
        function included (line 47) | def self.included(mod)
        function initialize (line 53) | def initialize
        function configure (line 60) | def configure(conf)
        function add_path_to_group_watcher (line 81) | def add_path_to_group_watcher(path)
        function remove_path_from_group_watcher (line 88) | def remove_path_from_group_watcher(path)
        function construct_group_key (line 94) | def construct_group_key(named_captures)
        function construct_groupwatchers (line 104) | def construct_groupwatchers
        function find_group (line 111) | def find_group(metadata)
        function find_group_from_metadata (line 119) | def find_group_from_metadata(path)
      class GroupWatcher (line 132) | class GroupWatcher
        method initialize (line 140) | def initialize(rate_period = 60, limit = -1)
        method add (line 146) | def add(path)
        method include? (line 150) | def include?(path)
        method size (line 154) | def size
        method delete (line 158) | def delete(path)
        method update_reading_time (line 162) | def update_reading_time(path)
        method update_lines_read (line 166) | def update_lines_read(path, value)
        method reset_counter (line 170) | def reset_counter(path)
        method time_spent_reading (line 175) | def time_spent_reading(path)
        method limit_time_period_reached? (line 179) | def limit_time_period_reached?(path)
        method limit_lines_reached? (line 183) | def limit_lines_reached?(path)
        method to_s (line 199) | def to_s

FILE: lib/fluent/plugin/in_tail/position_file.rb
  type Fluent::Plugin (line 19) | module Fluent::Plugin
    class TailInput (line 20) | class TailInput < Fluent::Plugin::Input
      class PositionFile (line 21) | class PositionFile
        method load (line 25) | def self.load(file, follow_inodes, existing_targets, logger:)
        method initialize (line 31) | def initialize(file, follow_inodes, logger: nil)
        method [] (line 39) | def [](target_info)
        method unwatch_removed_targets (line 56) | def unwatch_removed_targets(existing_targets)
        method unwatch (line 64) | def unwatch(target_info)
        method load (line 68) | def load(existing_targets = nil)
        method try_compact (line 95) | def try_compact
        method unwatch_key (line 127) | def unwatch_key(key)
        method compact (line 133) | def compact(existing_targets = nil)
        method fetch_compacted_entries (line 151) | def fetch_compacted_entries
        method remove_deleted_files_entries (line 183) | def remove_deleted_files_entries(existent_entries, existing_targets)
      method to_entry_fmt (line 193) | def to_entry_fmt
      class FilePositionEntry (line 200) | class FilePositionEntry
        method initialize (line 207) | def initialize(file, file_mutex, seek, pos, inode)
        method update (line 217) | def update(ino, pos)
        method update_pos (line 226) | def update_pos(pos)
        method read_inode (line 234) | def read_inode
        method read_pos (line 238) | def read_pos
      class MemoryPositionEntry (line 243) | class MemoryPositionEntry
        method initialize (line 244) | def initialize
        method update (line 249) | def update(ino, pos)
        method update_pos (line 254) | def update_pos(pos)
        method read_pos (line 258) | def read_pos
        method read_inode (line 262) | def read_inode

FILE: lib/fluent/plugin/in_tcp.rb
  type Fluent::Plugin (line 19) | module Fluent::Plugin
    class TcpInput (line 20) | class TcpInput < Input
      method configure (line 60) | def configure(conf)
      method multi_workers_ready? (line 100) | def multi_workers_ready?
      method zero_downtime_restart_ready? (line 104) | def zero_downtime_restart_ready?
      method start (line 108) | def start
      method check_client (line 217) | def check_client(conn)

FILE: lib/fluent/plugin/in_udp.rb
  type Fluent::Plugin (line 19) | module Fluent::Plugin
    class UdpInput (line 20) | class UdpInput < Input
      method configure (line 55) | def configure(conf)
      method multi_workers_ready? (line 69) | def multi_workers_ready?
      method zero_downtime_restart_ready? (line 73) | def zero_downtime_restart_ready?
      method start (line 77) | def start

FILE: lib/fluent/plugin/in_unix.rb
  type Fluent::Plugin (line 26) | module Fluent::Plugin
    class UnixInput (line 28) | class UnixInput < Input
      method initialize (line 33) | def initialize
      method configure (line 46) | def configure(conf)
      method start (line 50) | def start
      method shutdown (line 57) | def shutdown
      method listen (line 66) | def listen
      method on_message (line 99) | def on_message(msg)
      method convert_time (line 135) | def convert_time(time)
      class Handler (line 146) | class Handler < Coolio::Socket
        method initialize (line 147) | def initialize(io, log, on_message)
        method on_connect (line 154) | def on_connect
        method on_read (line 157) | def on_read(data)
        method on_read_json (line 174) | def on_read_json(data)
        method on_read_msgpack (line 182) | def on_read_msgpack(data)
        method on_close (line 190) | def on_close

FILE: lib/fluent/plugin/input.rb
  type Fluent (line 23) | module Fluent
    type Plugin (line 24) | module Plugin
      class Input (line 25) | class Input < Base
        method initialize (line 32) | def initialize
        method configure (line 40) | def configure(conf)
        method statistics (line 48) | def statistics
        method metric_callback (line 57) | def metric_callback(es)
        method multi_workers_ready? (line 62) | def multi_workers_ready?
        method zero_downtime_restart_ready? (line 66) | def zero_downtime_restart_ready?

FILE: lib/fluent/plugin/metrics.rb
  type Fluent (line 25) | module Fluent
    type Plugin (line 26) | module Plugin
      class Metrics (line 27) | class Metrics < Base
        method initialize (line 42) | def initialize
        method configure (line 50) | def configure(conf)
        method use_gauge_metric= (line 62) | def use_gauge_metric=(use_gauge_metric=false)
        method create (line 66) | def create(namespace:, subsystem:,name:,help_text:,labels: {})
        method get (line 70) | def get
        method inc (line 74) | def inc
        method dec (line 78) | def dec
        method add (line 82) | def add(value)
        method sub (line 86) | def sub(value)
        method set (line 90) | def set(value)
        method has_methods_for_counter? (line 96) | def has_methods_for_counter?
        method has_methods_for_gauge? (line 107) | def has_methods_for_gauge?

FILE: lib/fluent/plugin/metrics_local.rb
  type Fluent (line 20) | module Fluent
    type Plugin (line 21) | module Plugin
      class LocalMetrics (line 22) | class LocalMetrics < Metrics
        method initialize (line 25) | def initialize
        method configure (line 31) | def configure(conf)
        method multi_workers_ready? (line 47) | def multi_workers_ready?
        method get (line 51) | def get
        method inc (line 57) | def inc
        method dec_gauge (line 63) | def dec_gauge
        method add (line 69) | def add(value)
        method sub_gauge (line 75) | def sub_gauge(value)
        method set_counter (line 81) | def set_counter(value)
        method set_gauge (line 89) | def set_gauge(value)

FILE: lib/fluent/plugin/multi_output.rb
  type Fluent (line 22) | module Fluent
    type Plugin (line 23) | module Plugin
      class MultiOutput (line 24) | class MultiOutput < Base
        method process (line 39) | def process(tag, es)
        method initialize (line 43) | def initialize
        method statistics (line 59) | def statistics
        method multi_output? (line 70) | def multi_output?
        method configure (line 74) | def configure(conf)
        method static_outputs (line 99) | def static_outputs
        method call_lifecycle_method (line 112) | def call_lifecycle_method(method_name, checker_name)
        method start (line 125) | def start
        method after_start (line 130) | def after_start
        method stop (line 135) | def stop
        method before_shutdown (line 140) | def before_shutdown
        method shutdown (line 145) | def shutdown
        method after_shutdown (line 150) | def after_shutdown
        method close (line 155) | def close
        method terminate (line 160) | def terminate
        method emit_sync (line 165) | def emit_sync(tag, es)

FILE: lib/fluent/plugin/out_buffer.rb
  type Fluent::Plugin (line 19) | module Fluent::Plugin
    class BufferOutput (line 20) | class BufferOutput < Output
      method multi_workers_ready? (line 31) | def multi_workers_ready?
      method write (line 35) | def write(chunk)

FILE: lib/fluent/plugin/out_copy.rb
  type Fluent::Plugin (line 21) | module Fluent::Plugin
    class CopyOutput (line 22) | class CopyOutput < MultiOutput
      method initialize (line 32) | def initialize
      method configure (line 38) | def configure(conf)
      method multi_workers_ready? (line 54) | def multi_workers_ready?
      method process (line 58) | def process(tag, es)
      method gen_copy_proc (line 87) | def gen_copy_proc

FILE: lib/fluent/plugin/out_exec.rb
  type Fluent::Plugin (line 22) | module Fluent::Plugin
    class ExecOutput (line 23) | class ExecOutput < Output
      method configure (line 48) | def configure(conf)
      method multi_workers_ready? (line 54) | def multi_workers_ready?
      method format (line 60) | def format(tag, time, record)
      method try_write (line 69) | def try_write(chunk)

FILE: lib/fluent/plugin/out_exec_filter.rb
  type Fluent::Plugin (line 22) | module Fluent::Plugin
    class ExecFilterOutput (line 23) | class ExecFilterOutput < Output
      method exec_filter_compat_parameters_copy_to_subsection! (line 106) | def exec_filter_compat_parameters_copy_to_subsection!(conf, subsecti...
      method exec_filter_compat_parameters_convert! (line 116) | def exec_filter_compat_parameters_convert!(conf)
      method configure (line 130) | def configure(conf)
      method multi_workers_ready? (line 176) | def multi_workers_ready?
      method start (line 182) | def start
      method terminate (line 247) | def terminate
      method tag_remove_prefix (line 252) | def tag_remove_prefix(tag)
      method format (line 263) | def format(tag, time, record)
      method write (line 273) | def write(chunk)
      method run (line 286) | def run(io)
      method on_record (line 304) | def on_record(time, record)

FILE: lib/fluent/plugin/out_file.rb
  type Fluent::Plugin (line 27) | module Fluent::Plugin
    class FileOutput (line 28) | class FileOutput < Output
      type SymlinkBufferMixin (line 74) | module SymlinkBufferMixin
        function metadata (line 75) | def metadata(timekey: nil, tag: nil, variables: nil)
        function output_plugin_for_symlink= (line 86) | def output_plugin_for_symlink=(output_plugin)
        function symlink_path= (line 90) | def symlink_path=(path)
        function generate_chunk (line 94) | def generate_chunk(metadata)
      method configure (line 114) | def configure(conf)
      method multi_workers_ready? (line 217) | def multi_workers_ready?
      method format (line 221) | def format(tag, time, record)
      method write (line 226) | def write(chunk)
      method write_without_compression (line 261) | def write_without_compression(path, chunk)
      method write_with_compression (line 267) | def write_with_compression(type, path, chunk)
      method write_from_compressed_chunk (line 280) | def write_from_compressed_chunk(type, path, chunk)
      method timekey_to_timeformat (line 286) | def timekey_to_timeformat(timekey)
      method compression_suffix (line 296) | def compression_suffix(compress)
      method generate_path_template (line 312) | def generate_path_template(original, timekey, append, compress, path...
      method find_filepath_available (line 338) | def find_filepath_available(path_with_placeholder, with_lock: false)...

FILE: lib/fluent/plugin/out_forward.rb
  type Fluent::Plugin (line 33) | module Fluent::Plugin
    class ForwardOutput (line 34) | class ForwardOutput < Output
      method initialize (line 162) | def initialize
      method configure (line 176) | def configure(conf)
      method multi_workers_ready? (line 291) | def multi_workers_ready?
      method prefer_delayed_commit (line 295) | def prefer_delayed_commit
      method overwrite_delayed_commit_timeout (line 299) | def overwrite_delayed_commit_timeout
      method start (line 308) | def start
      method close (line 340) | def close
      method stop (line 349) | def stop
      method before_shutdown (line 357) | def before_shutdown
      method after_shutdown (line 362) | def after_shutdown
      method try_flush (line 367) | def try_flush
      method last_ack (line 372) | def last_ack
      method write (line 377) | def write(chunk)
      method try_write (line 384) | def try_write(chunk)
      method create_transfer_socket (line 395) | def create_transfer_socket(host, port, hostname, &block)
      method statistics (line 441) | def statistics
      method forward_header (line 463) | def forward_header
      method build_node (line 469) | def build_node(server)
      method on_heartbeat_timer (line 481) | def on_heartbeat_timer
      method on_udp_heartbeat_response_recv (line 502) | def on_udp_heartbeat_response_recv(data, sock)
      method on_purge_obsolete_socks (line 514) | def on_purge_obsolete_socks
      method ack_select_interval (line 518) | def ack_select_interval
      method ack_reader (line 526) | def ack_reader
      method ack_check (line 534) | def ack_check(select_interval)
      class Node (line 556) | class Node
        method initialize (line 562) | def initialize(sender, server, failure:, connection_manager:, ack_...
        method validate_host_resolution! (line 608) | def validate_host_resolution!
        method available? (line 612) | def available?
        method disable! (line 616) | def disable!
        method standby? (line 620) | def standby?
        method verify_connection (line 624) | def verify_connection
        method establish_connection (line 630) | def establish_connection(sock, ri)
        method send_data_actual (line 680) | def send_data_actual(sock, tag, chunk)
        method send_data (line 702) | def send_data(tag, chunk)
        method send_heartbeat (line 716) | def send_heartbeat
        method resolved_host (line 751) | def resolved_host
        method resolve_dns! (line 772) | def resolve_dns!
        method tick (line 780) | def tick
        method heartbeat (line 810) | def heartbeat(detect=true)
        method ensure_established_connection (line 824) | def ensure_established_connection(sock, request_info)
        method connect (line 834) | def connect(host = nil, ack: false, &block)
      class NoneHeartbeatNode (line 840) | class NoneHeartbeatNode < Node
        method available? (line 841) | def available?
        method tick (line 845) | def tick
        method heartbeat (line 849) | def heartbeat(detect=true)

FILE: lib/fluent/plugin/out_forward/ack_handler.rb
  type Fluent::Plugin (line 22) | module Fluent::Plugin
    class ForwardOutput (line 23) | class ForwardOutput < Output
      class AckHandler (line 24) | class AckHandler
        type Result (line 25) | module Result
        method initialize (line 31) | def initialize(timeout:, log:, read_length:)
        method collect_response (line 40) | def collect_response(select_interval)
        method expired? (line 89) | def expired?(now)
        method enqueue (line 95) | def enqueue(sock)
        method create_ack (line 100) | def create_ack(chunk_id, node)
        method enqueue (line 104) | def enqueue(node, sock, cid)
        method read_ack_from_sock (line 113) | def read_ack_from_sock(sock)
        method dump_unique_id_hex (line 159) | def dump_unique_id_hex(unique_id)
        method find (line 163) | def find(sock)
        method delete (line 169) | def delete(info)

FILE: lib/fluent/plugin/out_forward/connection_manager.rb
  type Fluent::Plugin (line 19) | module Fluent::Plugin
    class ForwardOutput (line 20) | class ForwardOutput < Output
      class ConnectionManager (line 21) | class ConnectionManager
        method initialize (line 28) | def initialize(log:, secure:, connection_factory:, socket_cache:)
        method stop (line 35) | def stop
        method connect (line 40) | def connect(host:, port:, hostname:, ack: nil, &block)
        method purge_obsolete_socks (line 65) | def purge_obsolete_socks
        method close (line 72) | def close(sock)
        method connect_keepalive (line 83) | def connect_keepalive(host:, port:, hostname:, ack: nil)

FILE: lib/fluent/plugin/out_forward/error.rb
  type Fluent::Plugin (line 19) | module Fluent::Plugin
    class ForwardOutput (line 20) | class ForwardOutput < Output
      class Error (line 21) | class Error < StandardError; end
      class NoNodesAvailable (line 22) | class NoNodesAvailable < Error; end
      class ConnectionClosedError (line 23) | class ConnectionClosedError < Error; end
      class HandshakeError (line 24) | class HandshakeError < Error; end
      class HeloError (line 25) | class HeloError < HandshakeError; end
      class PingpongError (line 26) | class PingpongError < HandshakeError; end

FILE: lib/fluent/plugin/out_forward/failure_detector.rb
  type Fluent::Plugin (line 19) | module Fluent::Plugin
    class ForwardOutput (line 20) | class ForwardOutput < Output
      class FailureDetector (line 21) | class FailureDetector
        method initialize (line 25) | def initialize(heartbeat_interval, hard_timeout, init_last)
        method hard_timeout? (line 35) | def hard_timeout?(now)
        method add (line 39) | def add(now)
        method phi (line 51) | def phi(now)
        method sample_size (line 74) | def sample_size
        method clear (line 78) | def clear

FILE: lib/fluent/plugin/out_forward/handshake_protocol.rb
  type Fluent::Plugin (line 21) | module Fluent::Plugin
    class ForwardOutput (line 22) | class ForwardOutput < Output
      class HandshakeProtocol (line 23) | class HandshakeProtocol
        method initialize (line 24) | def initialize(log:, hostname:, shared_key:, password:, username:)
        method invoke (line 33) | def invoke(sock, ri, data)
        method check_pong (line 58) | def check_pong(ri, message)
        method check_helo (line 83) | def check_helo(ri, message)
        method generate_ping (line 97) | def generate_ping(ri)
        method generate_salt (line 120) | def generate_salt

FILE: lib/fluent/plugin/out_forward/load_balancer.rb
  type Fluent::Plugin (line 20) | module Fluent::Plugin
    class ForwardOutput (line 21) | class ForwardOutput < Output
      class LoadBalancer (line 22) | class LoadBalancer
        method initialize (line 23) | def initialize(log)
        method select_healthy_node (line 31) | def select_healthy_node
        method rebuild_weight_array (line 58) | def rebuild_weight_array(nodes)

FILE: lib/fluent/plugin/out_forward/socket_cache.rb
  type Fluent::Plugin (line 19) | module Fluent::Plugin
    class ForwardOutput (line 20) | class ForwardOutput < Output
      class SocketCache (line 21) | class SocketCache
        method initialize (line 24) | def initialize(timeout, log)
        method checkout_or (line 33) | def checkout_or(key)
        method checkin (line 50) | def checkin(sock)
        method revoke (line 61) | def revoke(sock)
        method purge_obsolete_socks (line 71) | def purge_obsolete_socks
        method clear (line 98) | def clear
        method pick_socket (line 118) | def pick_socket(key)
        method timeout (line 133) | def timeout
        method expired_socket? (line 137) | def expired_socket?(sock, time: Time.now)

FILE: lib/fluent/plugin/out_http.rb
  class Net::HTTP (line 27) | class Net::HTTP
  type Fluent::Plugin (line 34) | module Fluent::Plugin
    class HTTPOutput (line 35) | class HTTPOutput < Output
      class RetryableResponse (line 38) | class RetryableResponse < StandardError; end
      method connection_cache_id_thread_key (line 109) | def connection_cache_id_thread_key
      method connection_cache_id_for_thread (line 113) | def connection_cache_id_for_thread
      method connection_cache_id_for_thread= (line 117) | def connection_cache_id_for_thread=(id)
      method initialize (line 121) | def initialize
      method close (line 133) | def close
      method configure (line 139) | def configure(conf)
      method multi_workers_ready? (line 192) | def multi_workers_ready?
      method formatted_to_msgpack_binary? (line 196) | def formatted_to_msgpack_binary?
      method format (line 200) | def format(tag, time, record)
      method format_json_array (line 204) | def format_json_array(tag, time, record)
      method write (line 208) | def write(chunk)
      method setup_content_type (line 219) | def setup_content_type
      method setup_http_option (line 236) | def setup_http_option
      method parse_endpoint (line 279) | def parse_endpoint(chunk)
      method set_headers (line 284) | def set_headers(req, uri, chunk)
      method set_auth (line 301) | def set_auth(req, uri)
      method create_request (line 323) | def create_request(chunk, uri)
      method make_request_cached (line 345) | def make_request_cached(uri, req)
      method make_request (line 367) | def make_request(uri, req, &block)
      method send_request (line 375) | def send_request(uri, req)

FILE: lib/fluent/plugin/out_null.rb
  type Fluent::Plugin (line 19) | module Fluent::Plugin
    class NullOutput (line 20) | class NullOutput < Output
      method prefer_buffered_processing (line 33) | def prefer_buffered_processing
      method prefer_delayed_commit (line 37) | def prefer_delayed_commit
      method initialize (line 43) | def initialize
      method multi_workers_ready? (line 49) | def multi_workers_ready?
      method process (line 53) | def process(tag, es)
      method write (line 58) | def write(chunk)
      method try_write (line 65) | def try_write(chunk)

FILE: lib/fluent/plugin/out_relabel.rb
  type Fluent::Plugin (line 19) | module Fluent::Plugin
    class RelabelOutput (line 20) | class RelabelOutput < Output
      method multi_workers_ready? (line 24) | def multi_workers_ready?
      method process (line 28) | def process(tag, es)

FILE: lib/fluent/plugin/out_roundrobin.rb
  type Fluent::Plugin (line 20) | module Fluent::Plugin
    class RoundRobinOutput (line 21) | class RoundRobinOutput < MultiOutput
      method initialize (line 28) | def initialize
      method configure (line 35) | def configure(conf)
      method multi_workers_ready? (line 45) | def multi_workers_ready?
      method start (line 49) | def start
      method process (line 54) | def process(tag, es)
      method next_output (line 60) | def next_output
      method rebuild_weight_array (line 65) | def rebuild_weight_array

FILE: lib/fluent/plugin/out_secondary_file.rb
  type Fluent::Plugin (line 22) | module Fluent::Plugin
    class SecondaryFileOutput (line 23) | class SecondaryFileOutput < Output
      method configure (line 36) | def configure(conf)
      method multi_workers_ready? (line 66) | def multi_workers_ready?
      method write (line 70) | def write(chunk)
      method validate_compatible_with_primary_buffer! (line 94) | def validate_compatible_with_primary_buffer!(path_without_suffix)
      method has_time_format? (line 112) | def has_time_format?(str)
      method generate_path (line 116) | def generate_path(path_without_suffix)
      class FileAlreadyExist (line 145) | class FileAlreadyExist < StandardError

FILE: lib/fluent/plugin/out_stdout.rb
  type Fluent::Plugin (line 19) | module Fluent::Plugin
    class StdoutOutput (line 20) | class StdoutOutput < Output
      method prefer_buffered_processing (line 42) | def prefer_buffered_processing
      method multi_workers_ready? (line 46) | def multi_workers_ready?
      method dest_io (line 50) | def dest_io
      method configure (line 56) | def configure(conf)
      method process (line 64) | def process(tag, es)
      method format (line 72) | def format(tag, time, record)
      method write (line 77) | def write(chunk)

FILE: lib/fluent/plugin/out_stream.rb
  type Fluent (line 23) | module Fluent
    class StreamOutput (line 25) | class StreamOutput < BufferedOutput
      method configure (line 30) | def configure(conf)
      method format_stream (line 35) | def format_stream(tag, es)
      method write (line 40) | def write(chunk)
      method flush_secondary (line 55) | def flush_secondary(secondary)
      class ReformatWriter (line 62) | class ReformatWriter
        method initialize (line 63) | def initialize(secondary)
        method write (line 67) | def write(chunk)
    class TcpOutput (line 88) | class TcpOutput < StreamOutput
      method initialize (line 93) | def initialize
      method configure (line 102) | def configure(conf)
      method connect (line 106) | def connect
    class UnixOutput (line 112) | class UnixOutput < StreamOutput
      method initialize (line 115) | def initialize
      method configure (line 122) | def configure(conf)
      method connect (line 126) | def connect

FILE: lib/fluent/plugin/output.rb
  type Fluent (line 33) | module Fluent
    type Plugin (line 34) | module Plugin
      class Output (line 35) | class Output < Base
        method process (line 114) | def process(tag, es)
        method write (line 118) | def write(chunk)
        method try_write (line 122) | def try_write(chunk)
        method format (line 126) | def format(tag, time, record)
        method formatted_to_msgpack_binary? (line 131) | def formatted_to_msgpack_binary?
        method formatted_to_msgpack_binary (line 138) | def formatted_to_msgpack_binary
        method prefer_buffered_processing (line 142) | def prefer_buffered_processing
        method prefer_delayed_commit (line 149) | def prefer_delayed_commit
        method multi_workers_ready? (line 154) | def multi_workers_ready?
        method expired? (line 161) | def expired?
        method initialize (line 174) | def initialize
        method acts_as_secondary (line 226) | def acts_as_secondary(primary)
        method configure (line 244) | def configure(conf)
        method keep_buffer_config_compat (line 421) | def keep_buffer_config_compat
        method start (line 427) | def start
        method after_start (line 505) | def after_start
        method stop (line 510) | def stop
        method before_shutdown (line 517) | def before_shutdown
        method shutdown (line 536) | def shutdown
        method after_shutdown (line 543) | def after_shutdown
        method close (line 569) | def close
        method terminate (line 576) | def terminate
        method actual_flush_thread_count (line 583) | def actual_flush_thread_count
        method synchronize_path (line 593) | def synchronize_path(path)
        method synchronize_path_in_workers (line 601) | def synchronize_path_in_workers(path)
        method synchronize_in_threads (line 610) | def synchronize_in_threads
        method support_in_v12_style? (line 619) | def support_in_v12_style?(feature)
        method implement? (line 631) | def implement?(feature)
        method placeholder_validate! (line 643) | def placeholder_validate!(name, str)
        method placeholder_validators (line 649) | def placeholder_validators(name, str, time_key = (@chunk_key_time ...
        class PlaceholderValidator (line 670) | class PlaceholderValidator
          method initialize (line 673) | def initialize(name, str, type, arg)
          method time? (line 681) | def time?
          method tag? (line 685) | def tag?
          method keys? (line 689) | def keys?
          method validate! (line 693) | def validate!
          method validate_time! (line 701) | def validate_time!
          method validate_tag! (line 717) | def validate_tag!
          method validate_keys! (line 728) | def validate_keys!
        method get_placeholders_time (line 750) | def get_placeholders_time(str)
        method get_placeholders_tag (line 760) | def get_placeholders_tag(str)
        method get_placeholders_keys (line 773) | def get_placeholders_keys(str)
        method extract_placeholders (line 778) | def extract_placeholders(str, chunk)
        method emit_events (line 853) | def emit_events(tag, es)
        method emit_sync (line 862) | def emit_sync(tag, es)
        method emit_buffered (line 874) | def emit_buffered(tag, es)
        method metadata (line 889) | def metadata(tag, time, record)
        method calculate_timekey (line 928) | def calculate_timekey(time)
        method chunk_for_test (line 938) | def chunk_for_test(tag, time, record)
        method execute_chunking (line 945) | def execute_chunking(tag, es, enqueue: false)
        method write_guard (line 955) | def write_guard(&block)
        method generate_format_proc (line 1004) | def generate_format_proc
        method handle_stream_with_custom_format (line 1023) | def handle_stream_with_custom_format(tag, es, enqueue: false)
        method handle_stream_with_standard_format (line 1043) | def handle_stream_with_standard_format(tag, es, enqueue: false)
        method handle_stream_simple (line 1061) | def handle_stream_simple(tag, es, enqueue: false)
        method commit_write (line 1087) | def commit_write(chunk_id, delayed: @delayed_commit, secondary: fa...
        method rollback_write (line 1111) | def rollback_write(chunk_id, update_retry: true)
        method try_rollback_write (line 1132) | def try_rollback_write
        method try_rollback_all (line 1146) | def try_rollback_all
        method next_flush_time (line 1161) | def next_flush_time
        method try_flush (line 1173) | def try_flush
        method backup_chunk (line 1274) | def backup_chunk(chunk, using_secondary, delayed_commit)
        method check_slow_flush (line 1285) | def check_slow_flush(start)
        method update_retry_state (line 1296) | def update_retry_state(chunk_id, using_secondary, error = nil)
        method log_retry_error (line 1331) | def log_retry_error(error, chunk_id_hex, using_secondary)
        method handle_limit_reached (line 1342) | def handle_limit_reached(error)
        method retry_state (line 1354) | def retry_state(randomize)
        method submit_flush_once (line 1373) | def submit_flush_once
        method force_flush (line 1389) | def force_flush
        method submit_flush_all (line 1396) | def submit_flush_all
        method interrupt_flushes (line 1405) | def interrupt_flushes
        method enqueue_thread_wait (line 1410) | def enqueue_thread_wait
        method flush_thread_wakeup (line 1422) | def flush_thread_wakeup
        method enqueue_thread_run (line 1434) | def enqueue_thread_run
        method flush_thread_run (line 1499) | def flush_thread_run(state)
        method statistics (line 1568) | def statistics

FILE: lib/fluent/plugin/owned_by_mixin.rb
  type Fluent (line 17) | module Fluent
    type Plugin (line 18) | module Plugin
      type OwnedByMixin (line 19) | module OwnedByMixin
        function owner= (line 20) | def owner=(plugin)
        function owner (line 28) | def owner
        function log (line 34) | def log

FILE: lib/fluent/plugin/parser.rb
  type Fluent (line 27) | module Fluent
    type Plugin (line 28) | module Plugin
      class Parser (line 29) | class Parser < Base
        class TimeoutChecker (line 30) | class TimeoutChecker
          method initialize (line 33) | def initialize(timeout)
          method start (line 41) | def start
          method stop (line 58) | def stop
          method execute (line 63) | def execute
        class ParserError (line 76) | class ParserError < StandardError; end
        method parser_type (line 104) | def parser_type
        method initialize (line 108) | def initialize
        method configure (line 114) | def configure(conf)
        method start (line 131) | def start
        method stop (line 137) | def stop
        method parse (line 143) | def parse(text, &block)
        method parse_with_timeout (line 147) | def parse_with_timeout(text, &block)
        method call (line 157) | def call(*a, &b)
        method implement? (line 163) | def implement?(feature)
        method parse_io (line 173) | def parse_io(io, &block)
        method parse_partial_data (line 177) | def parse_partial_data(data, &block)
        method parse_time (line 181) | def parse_time(record)
        method convert_values (line 202) | def convert_values(time, record)
        method string_like_null (line 222) | def string_like_null(value, null_empty_string = @null_empty_string...
        method build_type_converters (line 228) | def build_type_converters(types)

FILE: lib/fluent/plugin/parser_apache.rb
  type Fluent (line 19) | module Fluent
    type Plugin (line 20) | module Plugin
      class ApacheParser (line 21) | class ApacheParser < RegexpParser

FILE: lib/fluent/plugin/parser_apache2.rb
  type Fluent (line 19) | module Fluent
    type Plugin (line 20) | module Plugin
      class Apache2Parser (line 21) | class Apache2Parser < Parser
        method initialize (line 27) | def initialize
        method configure (line 32) | def configure(conf)
        method patterns (line 37) | def patterns
        method parse (line 41) | def parse(text)

FILE: lib/fluent/plugin/parser_apache_error.rb
  type Fluent (line 19) | module Fluent
    type Plugin (line 20) | module Plugin
      class ApacheErrorParser (line 21) | class ApacheErrorParser < RegexpParser

FILE: lib/fluent/plugin/parser_csv.rb
  type Fluent (line 21) | module Fluent
    type Plugin (line 22) | module Plugin
      class CSVParser (line 23) | class CSVParser < Parser
        method configure (line 33) | def configure(conf)
        method parse (line 48) | def parse(text, &block)
        method parse_fast (line 55) | def parse_fast(text, &block)
        method parse_fast_internal (line 64) | def parse_fast_internal(text)

FILE: lib/fluent/plugin/parser_json.rb
  type Fluent (line 24) | module Fluent
    type Plugin (line 25) | module Plugin
      class JSONParser (line 26) | class JSONParser < Parser
        method configure (line 41) | def configure(conf)
        method configure_json_parser (line 50) | def configure_json_parser(name)
        method parse (line 64) | def parse(text)
        method parse_one_record (line 87) | def parse_one_record(record)
        method parser_type (line 92) | def parser_type
        method parse_io (line 96) | def parse_io(io, &block)

FILE: lib/fluent/plugin/parser_ltsv.rb
  type Fluent (line 19) | module Fluent
    type Plugin (line 20) | module Plugin
      class LabeledTSVParser (line 21) | class LabeledTSVParser < Parser
        method configure (line 33) | def configure(conf)
        method parse (line 38) | def parse(text)

FILE: lib/fluent/plugin/parser_msgpack.rb
  type Fluent (line 20) | module Fluent
    type Plugin (line 21) | module Plugin
      class MessagePackParser (line 22) | class MessagePackParser < Parser
        method configure (line 25) | def configure(conf)
        method parser_type (line 30) | def parser_type
        method parse (line 34) | def parse(data, &block)
        method parse_io (line 41) | def parse_io(io, &block)
        method parse_unpacked_data (line 48) | def parse_unpacked_data(data)

FILE: lib/fluent/plugin/parser_multiline.rb
  type Fluent (line 20) | module Fluent
    type Plugin (line 21) | module Plugin
      class MultilineParser (line 22) | class MultilineParser < Parser
        class MultilineRegexpParser (line 32) | class MultilineRegexpParser < Fluent::Plugin::RegexpParser
          method parse (line 33) | def parse(text)
        method configure (line 54) | def configure(conf)
        method parse (line 76) | def parse(text, &block)
        method has_firstline? (line 102) | def has_firstline?
        method firstline? (line 106) | def firstline?(text)
        method parse_formats (line 112) | def parse_formats(conf)
        method check_format_range (line 129) | def check_format_range(conf)
        method check_format_regexp (line 139) | def check_format_regexp(format, key)

FILE: lib/fluent/plugin/parser_nginx.rb
  type Fluent (line 19) | module Fluent
    type Plugin (line 20) | module Plugin
      class NginxParser (line 21) | class NginxParser < RegexpParser

FILE: lib/fluent/plugin/parser_none.rb
  type Fluent (line 21) | module Fluent
    type Plugin (line 22) | module Plugin
      class NoneParser (line 23) | class NoneParser < Parser
        method parse (line 29) | def parse(text)

FILE: lib/fluent/plugin/parser_regexp.rb
  type Fluent (line 19) | module Fluent
    type Plugin (line 20) | module Plugin
      class RegexpParser (line 21) | class RegexpParser < Parser
        method configure (line 33) | def configure(conf)
        method parse (line 49) | def parse(text)

FILE: lib/fluent/plugin/parser_syslog.rb
  type Fluent (line 21) | module Fluent
    type Plugin (line 22) | module Plugin
      class SyslogParser (line 23) | class SyslogParser < Parser
        method initialize (line 63) | def initialize
        method configure (line 79) | def configure(conf)
        method setup_time_parser_3164 (line 124) | def setup_time_parser_3164(time_fmt)
        method setup_time_parser_5424 (line 132) | def setup_time_parser_5424(time_fmt)
        method patterns (line 140) | def patterns
        method parse (line 144) | def parse(text)
        method parse_auto (line 148) | def parse_auto(text, &block)
        method parse_rfc3164_regex (line 166) | def parse_rfc3164_regex(text, &block)
        method parse_rfc5424_regex (line 201) | def parse_rfc5424_regex(text, &block)
        method parse_plain (line 246) | def parse_plain(re, time, text, idx, record, capture_list, &block)
        method parse_rfc3164 (line 272) | def parse_rfc3164(text, &block)
        method parse_rfc5424 (line 374) | def parse_rfc5424(text, &block)

FILE: lib/fluent/plugin/parser_tsv.rb
  type Fluent (line 19) | module Fluent
    type Plugin (line 20) | module Plugin
      class TSVParser (line 21) | class TSVParser < Parser
        method configure (line 29) | def configure(conf)
        method parse (line 34) | def parse(text)

FILE: lib/fluent/plugin/sd_file.rb
  type Fluent (line 22) | module Fluent
    type Plugin (line 23) | module Plugin
      class FileServiceDiscovery (line 24) | class FileServiceDiscovery < ServiceDiscovery
        method initialize (line 38) | def initialize
        method configure (line 44) | def configure(conf)
        method start (line 59) | def start(queue)
        method parser (line 70) | def parser
        method refresh_file (line 82) | def refresh_file(queue)
        method fetch_server_info (line 115) | def fetch_server_info
        class StatWatcher (line 140) | class StatWatcher < Coolio::StatWatcher
          method initialize (line 141) | def initialize(path, log, &callback)
          method on_change (line 148) | def on_change(prev_stat, cur_stat)

FILE: lib/fluent/plugin/sd_srv.rb
  type Fluent (line 22) | module Fluent
    type Plugin (line 23) | module Plugin
      class SrvServiceDiscovery (line 24) | class SrvServiceDiscovery < ServiceDiscovery
        method initialize (line 50) | def initialize
        method configure (line 55) | def configure(conf)
        method start (line 72) | def start(queue)
        method refresh_srv_records (line 82) | def refresh_srv_records(queue)
        method fetch_srv_record (line 113) | def fetch_srv_record
        method dns_lookup! (line 129) | def dns_lookup!(host)

FILE: lib/fluent/plugin/sd_static.rb
  type Fluent (line 19) | module Fluent
    type Plugin (line 20) | module Plugin
      class StaticServiceDiscovery (line 21) | class StaticServiceDiscovery < ServiceDiscovery
        method configure (line 45) | def configure(conf)
        method start (line 53) | def start(queue = nil)

FILE: lib/fluent/plugin/service_discovery.rb
  type Fluent (line 23) | module Fluent
    type Plugin (line 24) | module Plugin
      class ServiceDiscovery (line 25) | class ServiceDiscovery < Base
        method discovery_id (line 35) | def discovery_id
        method service_in_msg (line 45) | def service_in_msg(service)
        method service_out_msg (line 49) | def service_out_msg(service)
        method initialize (line 54) | def initialize
        method start (line 60) | def start(queue = nil)

FILE: lib/fluent/plugin/socket_util.rb
  type Fluent (line 19) | module Fluent

FILE: lib/fluent/plugin/storage.rb
  type Fluent (line 20) | module Fluent
    type Plugin (line 21) | module Plugin
      class Storage (line 22) | class Storage < Base
        method validate_key (line 34) | def self.validate_key(key)
        method persistent_always? (line 41) | def persistent_always?
        method synchronized? (line 45) | def synchronized?
        method implementation (line 49) | def implementation
        method load (line 53) | def load
        method save (line 57) | def save
        method get (line 61) | def get(key)
        method fetch (line 65) | def fetch(key, defval)
        method put (line 69) | def put(key, value)
        method delete (line 74) | def delete(key)
        method update (line 79) | def update(key, &block) # transactional get-and-update

FILE: lib/fluent/plugin/storage_local.rb
  type Fluent (line 24) | module Fluent
    type Plugin (line 25) | module Plugin
      class LocalStorage (line 26) | class LocalStorage < Storage
        method initialize (line 40) | def initialize
        method configure (line 46) | def configure(conf)
        method multi_workers_ready? (line 105) | def multi_workers_ready?
        method load (line 112) | def load
        method save (line 129) | def save
        method get (line 145) | def get(key)
        method fetch (line 149) | def fetch(key, defval)
        method put (line 153) | def put(key, value)
        method delete (line 157) | def delete(key)
        method update (line 161) | def update(key, &block)

FILE: lib/fluent/plugin/string_util.rb
  type Fluent (line 19) | module Fluent

FILE: lib/fluent/plugin_helper.rb
  type Fluent (line 37) | module Fluent
    type PluginHelper (line 38) | module PluginHelper
      type Mixin (line 39) | module Mixin
        function included (line 40) | def self.included(mod)
      function extended (line 45) | def self.extended(mod)
      function helpers_internal (line 53) | def helpers_internal(*snake_case_symbols)
      function helpers (line 65) | def helpers(*snake_case_symbols)
      function plugin_helpers (line 71) | def plugin_helpers

FILE: lib/fluent/plugin_helper/cert_option.rb
  type Fluent (line 23) | module Fluent
    type PluginHelper (line 24) | module PluginHelper
      type CertOption (line 25) | module CertOption
        function cert_option_create_context (line 26) | def cert_option_create_context(version, insecure, ciphers, conf)
        function cert_option_server_validate! (line 68) | def cert_option_server_validate!(conf)
        function cert_option_load (line 96) | def cert_option_load(cert_path, private_key_path, private_key_pass...
        function cert_option_cert_generation_opts_from_conf (line 103) | def cert_option_cert_generation_opts_from_conf(conf)
        function cert_option_generate_pair (line 115) | def cert_option_generate_pair(opts, issuer = nil)
        function cert_option_add_extensions (line 138) | def cert_option_add_extensions(cert, extensions)
        function cert_option_generate_ca_pair_self_signed (line 146) | def cert_option_generate_ca_pair_self_signed(generate_opts)
        function cert_option_generate_server_pair_by_ca (line 157) | def cert_option_generate_server_pair_by_ca(ca_cert_path, ca_key_pa...
        function cert_option_generate_server_pair_self_signed (line 174) | def cert_option_generate_server_pair_self_signed(generate_opts)
        function cert_option_certificates_from_file (line 187) | def cert_option_certificates_from_file(path)

FILE: lib/fluent/plugin_helper/child_process.rb
  type Fluent (line 24) | module Fluent
    type PluginHelper (line 25) | module PluginHelper
      type ChildProcess (line 26) | module ChildProcess
        function child_process_running? (line 44) | def child_process_running?
        function child_process_id (line 49) | def child_process_id
        function child_process_exist? (line 53) | def child_process_exist?(pid)
        function child_process_execute (line 65) | def child_process_execute(
        function initialize (line 122) | def initialize
        function stop (line 131) | def stop
        function shutdown (line 142) | def shutdown
        function close (line 174) | def close
        function terminate (line 202) | def terminate
        function child_process_kill (line 208) | def child_process_kill(pinfo, force: false)
        function child_process_execute_once (line 231) | def child_process_execute_once(

FILE: lib/fluent/plugin_helper/compat_parameters.rb
  type Fluent (line 20) | module Fluent
    type PluginHelper (line 21) | module PluginHelper
      type CompatParameters (line 22) | module CompatParameters
        function compat_parameters_convert (line 112) | def compat_parameters_convert(conf, *types, **kwargs)
        function compat_parameters_buffer (line 133) | def compat_parameters_buffer(conf, default_chunk_key: '')
        function compat_parameters_inject (line 181) | def compat_parameters_inject(conf)
        function to_bool (line 222) | def to_bool(v)
        function compat_parameters_extract (line 230) | def compat_parameters_extract(conf)
        function compat_parameters_parser (line 264) | def compat_parameters_parser(conf)
        function compat_parameters_formatter (line 310) | def compat_parameters_formatter(conf)
        function compat_parameters_copy_to_subsection_attributes (line 327) | def compat_parameters_copy_to_subsection_attributes(conf, params, ...

FILE: lib/fluent/plugin_helper/counter.rb
  type Fluent (line 20) | module Fluent
    type PluginHelper (line 21) | module PluginHelper
      type Counter (line 22) | module Counter
        function counter_client_create (line 23) | def counter_client_create(scope:, loop: Coolio::Loop.new)
        function initialize (line 35) | def initialize
        function stop (line 40) | def stop
        function terminate (line 45) | def terminate

FILE: lib/fluent/plugin_helper/event_emitter.rb
  type Fluent (line 19) | module Fluent
    type PluginHelper (line 20) | module PluginHelper
      type EventEmitter (line 21) | module EventEmitter
        function router (line 27) | def router
        function router= (line 41) | def router=(r)
        function has_router? (line 46) | def has_router?
        function event_emitter_used_actually? (line 50) | def event_emitter_used_actually?
        function event_emitter_apply_source_only (line 54) | def event_emitter_apply_source_only
        function event_emitter_cancel_source_only (line 58) | def event_emitter_cancel_source_only
        function event_emitter_router (line 62) | def event_emitter_router(label_name)
        function initialize (line 82) | def initialize
        function configure (line 90) | def configure(conf)
        function after_shutdown (line 96) | def after_shutdown
        function close (line 101) | def close # unset router many times to reduce test cost
        function terminate (line 106) | def terminate

FILE: lib/fluent/plugin_helper/event_loop.rb
  type Fluent (line 21) | module Fluent
    type PluginHelper (line 22) | module PluginHelper
      type EventLoop (line 23) | module EventLoop
        function event_loop_attach (line 38) | def event_loop_attach(watcher)
        function event_loop_detach (line 46) | def event_loop_detach(watcher)
        function event_loop_wait_until_start (line 55) | def event_loop_wait_until_start
        function event_loop_wait_until_stop (line 59) | def event_loop_wait_until_stop
        function event_loop_running? (line 70) | def event_loop_running?
        function initialize (line 74) | def initialize
        function start (line 84) | def start
        function shutdown (line 100) | def shutdown
        function after_shutdown (line 116) | def after_shutdown
        function close (line 139) | def close
        function terminate (line 151) | def terminate
        class DefaultWatcher (line 161) | class DefaultWatcher < Coolio::TimerWatcher
          method initialize (line 162) | def initialize
          method on_timer (line 166) | def on_timer; end

FILE: lib/fluent/plugin_helper/extract.rb
  type Fluent (line 21) | module Fluent
    type PluginHelper (line 22) | module PluginHelper
      type Extract (line 23) | module Extract
        function extract_tag_from_record (line 24) | def extract_tag_from_record(record)
        function extract_time_from_record (line 35) | def extract_time_from_record(record)
        type ExtractParams (line 46) | module ExtractParams
        function included (line 63) | def self.included(mod)
        function initialize (line 67) | def initialize
        function configure (line 77) | def configure(conf)

FILE: lib/fluent/plugin_helper/formatter.rb
  type Fluent (line 22) | module Fluent
    type PluginHelper (line 23) | module PluginHelper
      type Formatter (line 24) | module Formatter
        function formatter_create (line 25) | def formatter_create(usage: '', type: nil, conf: nil, default_type...
        type FormatterParams (line 61) | module FormatterParams
        function included (line 70) | def self.included(mod)
        function initialize (line 76) | def initialize
        function configure (line 82) | def configure(conf)
        function start (line 95) | def start
        function formatter_operate (line 103) | def formatter_operate(method_name, &block)
        function stop (line 114) | def stop
        function before_shutdown (line 119) | def before_shutdown
        function shutdown (line 124) | def shutdown
        function after_shutdown (line 129) | def after_shutdown
        function close (line 134) | def close
        function terminate (line 139) | def terminate

FILE: lib/fluent/plugin_helper/http_server.rb
  type Fluent (line 22) | module Fluent
    type PluginHelper (line 23) | module PluginHelper
      type HttpServer (line 24) | module HttpServer
        function included (line 33) | def self.included(mod)
        function initialize (line 37) | def initialize(*)
        function create_http_server (line 42) | def create_http_server(title, addr:, port:, logger:, default_app: ...
        function http_server_create_http_server (line 54) | def http_server_create_http_server(title, addr:, port:, logger:, d...
        function http_server_create_https_server (line 80) | def http_server_create_https_server(title, addr:, port:, logger:, ...
        function stop (line 100) | def stop
        function _http_server_overwrite_config (line 110) | def _http_server_overwrite_config(config, opts)
        function _block_until_http_server_start (line 121) | def _block_until_http_server_start

FILE: lib/fluent/plugin_helper/http_server/app.rb
  type Fluent (line 21) | module Fluent
    type PluginHelper (line 22) | module PluginHelper
      type HttpServer (line 23) | module HttpServer
        class App (line 24) | class App
          method initialize (line 25) | def initialize(router, logger)
          method call (line 31) | def call(request)

FILE: lib/fluent/plugin_helper/http_server/methods.rb
  type Fluent (line 17) | module Fluent
    type PluginHelper (line 18) | module PluginHelper
      type HttpServer (line 19) | module HttpServer
        type Methods (line 20) | module Methods

FILE: lib/fluent/plugin_helper/http_server/request.rb
  type Fluent (line 21) | module Fluent
    type PluginHelper (line 22) | module PluginHelper
      type HttpServer (line 23) | module HttpServer
        class Request (line 24) | class Request
          method initialize (line 27) | def initialize(request)
          method headers (line 33) | def headers
          method query (line 37) | def query
          method body (line 47) | def body

FILE: lib/fluent/plugin_helper/http_server/router.rb
  type Fluent (line 19) | module Fluent
    type PluginHelper (line 20) | module PluginHelper
      type HttpServer (line 21) | module HttpServer
        class Router (line 22) | class Router
          class NotFoundApp (line 23) | class NotFoundApp
            method call (line 24) | def self.call(req)
          method initialize (line 29) | def initialize(default_app = nil)
          method mount (line 37) | def mount(method, path, app)
          method route! (line 48) | def route!(method, path, request)

FILE: lib/fluent/plugin_helper/http_server/server.rb
  type Fluent (line 26) | module Fluent
    type PluginHelper (line 27) | module PluginHelper
      type HttpServer (line 28) | module HttpServer
        class Server (line 29) | class Server
          method initialize (line 33) | def initialize(addr:, port:, logger:, default_app: nil, tls_cont...
          method start (line 70) | def start(notify = nil)
          method stop (line 92) | def stop

FILE: lib/fluent/plugin_helper/http_server/ssl_context_builder.rb
  type Fluent (line 19) | module Fluent
    type PluginHelper (line 20) | module PluginHelper
      type HttpServer (line 21) | module HttpServer
        class SSLContextBuilder (line 23) | class SSLContextBuilder
          method initialize (line 26) | def initialize(log)
          method build (line 31) | def build(config)

FILE: lib/fluent/plugin_helper/inject.rb
  type Fluent (line 22) | module Fluent
    type PluginHelper (line 23) | module PluginHelper
      type Inject (line 24) | module Inject
        function inject_values_to_record (line 25) | def inject_values_to_record(tag, time, record)
        function inject_values_to_event_stream (line 45) | def inject_values_to_event_stream(tag, es)
        type InjectParams (line 69) | module InjectParams
        function included (line 87) | def self.included(mod)
        function initialize (line 91) | def initialize
        function configure (line 103) | def configure(conf)

FILE: lib/fluent/plugin_helper/metrics.rb
  type Fluent (line 26) | module Fluent
    type PluginHelper (line 27) | module PluginHelper
      type Metrics (line 28) | module Metrics
        function initialize (line 33) | def initialize
        function configure (line 39) | def configure(conf)
        function metrics_create (line 53) | def metrics_create(namespace: "fluentd", subsystem: "metrics", nam...
        function metrics_operate (line 85) | def metrics_operate(method_name, &block)
        function start (line 96) | def start
        function stop (line 103) | def stop
        function before_shutdown (line 109) | def before_shutdown
        function shutdown (line 114) | def shutdown
        function after_shutdown (line 119) | def after_shutdown
        function close (line 124) | def close
        function terminate (line 129) | def terminate

FILE: lib/fluent/plugin_helper/parser.rb
  type Fluent (line 22) | module Fluent
    type PluginHelper (line 23) | module PluginHelper
      type Parser (line 24) | module Parser
        function parser_create (line 25) | def parser_create(usage: '', type: nil, conf: nil, default_type: nil)
        type ParserParams (line 61) | module ParserParams
        function included (line 70) | def self.included(mod)
        function initialize (line 76) | def initialize
        function configure (line 82) | def configure(conf)
        function start (line 95) | def start
        function parser_operate (line 103) | def parser_operate(method_name, &block)
        function stop (line 114) | def stop
        function before_shutdown (line 119) | def before_shutdown
        function shutdown (line 124) | def shutdown
        function after_shutdown (line 129) | def after_shutdown
        function close (line 134) | def close
        function terminate (line 139) | def terminate

FILE: lib/fluent/plugin_helper/record_accessor.rb
  type Fluent (line 19) | module Fluent
    type PluginHelper (line 20) | module PluginHelper
      type RecordAccessor (line 21) | module RecordAccessor
        function record_accessor_create (line 22) | def record_accessor_create(param)
        function record_accessor_nested? (line 26) | def record_accessor_nested?(param)
        class Accessor (line 30) | class Accessor
          method initialize (line 33) | def initialize(param)
          method call (line 54) | def call(r)
          method call_dig (line 60) | def call_dig(r)
          method delete (line 64) | def delete(r)
          method delete_nest (line 68) | def delete_nest(r)
          method set (line 80) | def set(r, v)
          method set_nest (line 86) | def set_nest(r, v)
          method parse_parameter (line 92) | def self.parse_parameter(param)
          method parse_dot_notation (line 102) | def self.parse_dot_notation(param)
          method validate_dot_keys (line 119) | def self.validate_dot_keys(keys)
          method parse_dot_array_op (line 128) | def self.parse_dot_array_op(key, param)
          method parse_bracket_notation (line 162) | def self.parse_bracket_notation(param)

FILE: lib/fluent/plugin_helper/retry_state.rb
  type Fluent (line 17) | module Fluent
    type PluginHelper (line 18) | module PluginHelper
      type RetryState (line 19) | module RetryState
        function retry_state_create (line 20) | def retry_state_create(
        class RetryStateMachine (line 35) | class RetryStateMachine
          method initialize (line 38) | def initialize(title, wait, timeout, forever, max_steps, randomi...
          method current_time (line 75) | def current_time
          method randomize (line 79) | def randomize(interval)
          method calc_next_time (line 85) | def calc_next_time
          method naive_next_time (line 114) | def naive_next_time(retry_times)
          method secondary? (line 118) | def secondary?
          method step (line 122) | def step
          method recalc_next_time (line 140) | def recalc_next_time
          method limit? (line 144) | def limit?
        class ExponentialBackOffRetry (line 153) | class ExponentialBackOffRetry < RetryStateMachine
          method initialize (line 154) | def initialize(title, wait, timeout, forever, max_steps, randomi...
          method naive_next_time (line 164) | def naive_next_time(retry_next_times)
          method calc_max_retry_timeout (line 169) | def calc_max_retry_timeout(max_steps)
          method calc_interval (line 177) | def calc_interval(num)
          method raw_interval (line 195) | def raw_interval(num)
        class PeriodicRetry (line 200) | class PeriodicRetry < RetryStateMachine
          method initialize (line 201) | def initialize(title, wait, timeout, forever, max_steps, randomi...
          method naive_next_time (line 209) | def naive_next_time(retry_next_times)
          method calc_max_retry_timeout (line 213) | def calc_max_retry_timeout(max_steps)

FILE: lib/fluent/plugin_helper/server.rb
  type Fluent (line 29) | module Fluent
    type PluginHelper (line 30) | module PluginHelper
      type Server (line 31) | module Server
        function server_wait_until_start (line 48) | def server_wait_until_start
        function server_wait_until_stop (line 52) | def server_wait_until_stop
        function server_create_connection (line 70) | def server_create_connection(title, port, proto: nil, bind: '0.0.0...
        function server_create (line 124) | def server_create(title, port, proto: nil, bind: '0.0.0.0', shared...
        function server_create_tcp (line 192) | def server_create_tcp(title, port, **kwargs, &callback)
        function server_create_udp (line 196) | def server_create_udp(title, port, **kwargs, &callback)
        function server_create_tls (line 200) | def server_create_tls(title, port, **kwargs, &callback)
        function server_create_unix (line 204) | def server_create_unix(title, port, **kwargs, &callback)
        function server_attach (line 210) | def server_attach(title, proto, port, bind, shared, server)
        function server_create_for_tcp_connection (line 215) | def server_create_for_tcp_connection(shared, bind, port, backlog, ...
        function server_create_for_tls_connection (line 230) | def server_create_for_tls_connection(shared, bind, port, conf, bac...
        function server_create_transport_section_object (line 257) | def server_create_transport_section_object(opts)
        type ServerTransportParams (line 267) | module ServerTransportParams
        function included (line 325) | def self.included(mod)
        function initialize (line 329) | def initialize
        function configure (line 336) | def configure(conf)
        function stop (line 346) | def stop
        function shutdown (line 358) | def shutdown
        function terminate (line 369) | def terminate
        function server_socket_manager_client (line 374) | def server_socket_manager_client
        function server_create_tcp_socket (line 382) | def server_create_tcp_socket(shared, bind, port)
        function server_create_udp_socket (line 397) | def server_create_udp_socket(shared, bind, port)
        class CallbackSocket (line 414) | class CallbackSocket
          method initialize (line 415) | def initialize(server_type, sock, enabled_events = [], close_soc...
          method remote_addr (line 423) | def remote_addr
          method remote_host (line 427) | def remote_host
          method remote_port (line 431) | def remote_port
          method send (line 435) | def send(data, flags = 0)
          method write (line 439) | def write(data)
          method close_after_write_complete (line 443) | def close_after_write_complete
          method close (line 447) | def close
          method data (line 451) | def data(&callback)
          method on (line 455) | def on(event, &callback)
        class TCPCallbackSocket (line 472) | class TCPCallbackSocket < CallbackSocket
          method initialize (line 477) | def initialize(sock)
          method write (line 483) | def write(data)
        class TLSCallbackSocket (line 488) | class TLSCallbackSocket < CallbackSocket
          method initialize (line 493) | def initialize(sock)
          method write (line 499) | def write(data)
        class UDPCallbackSocket (line 504) | class UDPCallbackSocket < CallbackSocket
          method initialize (line 507) | def initialize(sock, peeraddr, **kwargs)
          method remote_addr (line 512) | def remote_addr
          method remote_host (line 516) | def remote_host
          method remote_port (line 520) | def remote_port
          method write (line 524) | def write(data)
        type EventHandler (line 529) | module EventHandler
          class UDPServer (line 530) | class UDPServer < Coolio::IO
            method initialize (line 533) | def initialize(sock, max_bytes, flags, close_socket, log, unde...
            method on_readable_without_sock (line 555) | def on_readable_without_sock
            method on_readable_with_sock (line 572) | def on_readable_with_sock
          class TCPServer (line 590) | class TCPServer < Coolio::TCPSocket
            method initialize (line 594) | def initialize(sock, socket_option_setter, close_callback, log...
            method to_io (line 616) | def to_io
            method data (line 620) | def data(&callback)
            method write (line 632) | def write(data)
            method on_writable (line 638) | def on_writable
            method on_connect (line 643) | def on_connect
            method on_read_without_connection (line 651) | def on_read_without_connection(data)
            method on_read_with_connection (line 660) | def on_read_with_connection(data)
            method close (line 669) | def close
          class TLSServer (line 679) | class TLSServer < Coolio::Socket
            method initialize (line 684) | def initialize(sock, context, socket_option_setter, close_call...
            method to_io (line 708) | def to_io
            method data (line 712) | def data(&callback)
            method write (line 724) | def write(data)
            method try_tls_accept (line 732) | def try_tls_accept
            method on_connect (line 766) | def on_connect
            method on_readable (line 770) | def on_readable
            method on_writable (line 781) | def on_writable
            method on_read_without_connection (line 810) | def on_read_without_connection(data)
            method on_read_with_connection (line 819) | def on_read_with_connection(data)
            method close (line 828) | def close

FILE: lib/fluent/plugin_helper/service_discovery.rb
  type Fluent (line 20) | module Fluent
    type PluginHelper (line 21) | module PluginHelper
      type ServiceDiscovery (line 22) | module ServiceDiscovery
        function included (line 28) | def self.included(mod)
        function configure (line 32) | def configure(conf)
        function start (line 38) | def start
        function service_discovery_configure (line 68) | def service_discovery_configure(title, static_default_service_dire...
        function service_discovery_select_service (line 81) | def service_discovery_select_service(&block)
        function service_discovery_services (line 85) | def service_discovery_services
        function service_discovery_rebalance (line 89) | def service_discovery_rebalance
        function service_discovery_create_manager (line 97) | def service_discovery_create_manager(title, configurations:, load_...
        function discovery_manager (line 112) | def discovery_manager
        type ServiceDiscoveryParams (line 116) | module ServiceDiscoveryParams

FILE: lib/fluent/plugin_helper/service_discovery/manager.rb
  type Fluent (line 20) | module Fluent
    type PluginHelper (line 21) | module PluginHelper
      type ServiceDiscovery (line 22) | module ServiceDiscovery
        class Manager (line 23) | class Manager
          method initialize (line 24) | def initialize(log:, load_balancer: nil, custom_build_method: nil)
          method configure (line 35) | def configure(configs, parent: nil)
          method static_config? (line 59) | def static_config?
          method start (line 63) | def start
          method run_once (line 77) | def run_once
          method rebalance (line 103) | def rebalance
          method select_service (line 107) | def select_service(&block)
          method services (line 111) | def services
          method handle_message (line 117) | def handle_message(msg)
          method build_service (line 140) | def build_service(n)

FILE: lib/fluent/plugin_helper/service_discovery/round_robin_balancer.rb
  type Fluent (line 17) | module Fluent
    type PluginHelper (line 18) | module PluginHelper
      type ServiceDiscovery (line 19) | module ServiceDiscovery
        class RoundRobinBalancer (line 20) | class RoundRobinBalancer
          method initialize (line 21) | def initialize
          method rebalance (line 26) | def rebalance(services)
          method select_service (line 32) | def select_service

FILE: lib/fluent/plugin_helper/socket.rb
  type Fluent (line 27) | module Fluent
    type PluginHelper (line 28) | module PluginHelper
      type Socket (line 29) | module Socket
        function socket_create (line 41) | def socket_create(proto, host, port, **kwargs, &block)
        function socket_create_tcp (line 56) | def socket_create_tcp(host, port, resolve_name: false, connect_tim...
        function socket_create_udp (line 77) | def socket_create_udp(host, port, resolve_name: false, connect: fa...
        function socket_create_tls (line 93) | def socket_create_tls(
        function socket_certificates_from_file (line 207) | def socket_certificates_from_file(path)
        function tls_verify_result_name (line 218) | def self.tls_verify_result_name(code)
        type WrappedSocket (line 257) | module WrappedSocket
          class TCP (line 258) | class TCP < ::TCPSocket
            method remote_addr (line 259) | def remote_addr; peeraddr[3]; end
            method remote_host (line 260) | def remote_host; peeraddr[2]; end
            method remote_port (line 261) | def remote_port; peeraddr[1]; end
          class UDP (line 263) | class UDP < ::UDPSocket
            method remote_addr (line 264) | def remote_addr; peeraddr[3]; end
            method remote_host (line 265) | def remote_host; peeraddr[2]; end
            method remote_port (line 266) | def remote_port; peeraddr[1]; end
          class TLS (line 268) | class TLS < OpenSSL::SSL::SSLSocket
            method remote_addr (line 269) | def remote_addr; peeraddr[3]; end
            method remote_host (line 270) | def remote_host; peeraddr[2]; end
            method remote_port (line 271) | def remote_port; peeraddr[1]; end
        function initialize (line 275) | def initialize

FILE: lib/fluent/plugin_helper/socket_option.rb
  type Fluent (line 21) | module Fluent
    type PluginHelper (line 22) | module PluginHelper
      type SocketOption (line 23) | module SocketOption
        function socket_option_validate! (line 29) | def socket_option_validate!(protocol, resolve_name: nil, linger_ti...
        function socket_option_set (line 47) | def socket_option_set(sock, resolve_name: nil, nonblock: false, li...
        function socket_option_set_one (line 91) | def socket_option_set_one(sock, option, value)

FILE: lib/fluent/plugin_helper/storage.rb
  type Fluent (line 25) | module Fluent
    type PluginHelper (line 26) | module PluginHelper
      type Storage (line 27) | module Storage
        function storage_create (line 32) | def storage_create(usage: '', type: nil, conf: nil, default_type: ...
        type StorageParams (line 79) | module StorageParams
        function included (line 88) | def self.included(mod)
        function initialize (line 94) | def initialize
        function configure (line 100) | def configure(conf)
        function start (line 116) | def start
        function storage_operate (line 137) | def storage_operate(method_name, &block)
        function stop (line 148) | def stop
        function before_shutdown (line 154) | def before_shutdown
        function shutdown (line 159) | def shutdown
        function after_shutdown (line 166) | def after_shutdown
        function close (line 171) | def close
        function terminate (line 176) | def terminate
        function wrap_instance (line 182) | def wrap_instance(storage)
        class PersistentWrapper (line 194) | class PersistentWrapper
          method initialize (line 198) | def initialize(storage)
          method method_missing (line 207) | def method_missing(name, *args)
          method persistent_always? (line 211) | def persistent_always?
          method persistent (line 215) | def persistent
          method autosave (line 219) | def autosave
          method synchronized? (line 223) | def synchronized?
          method implementation (line 227) | def implementation
          method load (line 231) | def load
          method save (line 237) | def save
          method get (line 243) | def get(key)
          method fetch (line 250) | def fetch(key, defval)
          method put (line 257) | def put(key, value)
          method delete (line 266) | def delete(key)
          method update (line 275) | def update(key, &block)
        class SynchronizeWrapper (line 286) | class SynchronizeWrapper
          method initialize (line 289) | def initialize(storage)
          method method_missing (line 299) | def method_missing(name, *args)
          method synchronized? (line 303) | def synchronized?
          method implementation (line 307) | def implementation
          method load (line 311) | def load
          method save (line 317) | def save
          method get (line 323) | def get(key)
          method fetch (line 327) | def fetch(key, defval)
          method put (line 331) | def put(key, value)
          method delete (line 335) | def delete(key)
          method update (line 339) | def update(key, &block)

FILE: lib/fluent/plugin_helper/thread.rb
  type Fluent (line 19) | module Fluent
    type PluginHelper (line 20) | module PluginHelper
      type Thread (line 21) | module Thread
        function thread_current_running? (line 32) | def thread_current_running?
        function thread_wait_until_start (line 37) | def thread_wait_until_start
        function thread_wait_until_stop (line 43) | def thread_wait_until_stop
        function thread_create (line 65) | def thread_create(title)
        function thread_exist? (line 103) | def thread_exist?(title)
        function thread_started? (line 107) | def thread_started?(title)
        function thread_running? (line 112) | def thread_running?(title)
        function initialize (line 117) | def initialize
        function stop (line 124) | def stop
        function after_shutdown (line 140) | def after_shutdown
        function close (line 153) | def close
        function terminate (line 164) | def terminate

FILE: lib/fluent/plugin_helper/timer.rb
  type Fluent (line 20) | module Fluent
    type PluginHelper (line 21) | module PluginHelper
      type Timer (line 22) | module Timer
        function timer_execute (line 33) | def timer_execute(title, interval, repeat: true, &block)
        function timer_running? (line 44) | def timer_running?
        function initialize (line 48) | def initialize
        function start (line 53) | def start
        function stop (line 58) | def stop
        function terminate (line 63) | def terminate
        class TimerWatcher (line 68) | class TimerWatcher < Coolio::TimerWatcher
          method initialize (line 69) | def initialize(title, interval, repeat, log, checker, detacher, ...
          method on_timer (line 79) | def on_timer

FILE: lib/fluent/plugin_id.rb
  type Fluent (line 21) | module Fluent
    type PluginId (line 22) | module PluginId
      function initialize (line 24) | def initialize
      function configure (line 32) | def configure(conf)
      function plugin_id_for_test? (line 47) | def plugin_id_for_test?
      function plugin_id_configured? (line 59) | def plugin_id_configured?
      function plugin_id (line 65) | def plugin_id
      function plugin_root_dir (line 73) | def plugin_root_dir
      function stop (line 85) | def stop

FILE: lib/fluent/process.rb
  type Fluent (line 19) | module Fluent

FILE: lib/fluent/registry.rb
  type Fluent (line 19) | module Fluent
    class Registry (line 20) | class Registry
      method initialize (line 24) | def initialize(kind, search_prefix, dir_search_prefix: nil)
      method register (line 34) | def register(type, value)
      method lookup (line 39) | def lookup(type)
      method reverse_lookup (line 52) | def reverse_lookup(value)
      method search (line 59) | def search(type)

FILE: lib/fluent/root_agent.rb
  type Fluent (line 27) | module Fluent
    class RootAgent (line 48) | class RootAgent < Agent
      class SourceOnlyMode (line 51) | class SourceOnlyMode
        method initialize (line 56) | def initialize(with_source_only, start_in_parallel)
        method enabled? (line 66) | def enabled?
        method only_zero_downtime_restart_ready? (line 70) | def only_zero_downtime_restart_ready?
        method disable! (line 74) | def disable!
      method initialize (line 79) | def initialize(log:, system_config: SystemConfig.new, start_in_paral...
      method source_only_router (line 97) | def source_only_router
      method configure (line 102) | def configure(conf)
      method setup_error_label (line 203) | def setup_error_label(e)
      method setup_source_only_buffer_agent (line 209) | def setup_source_only_buffer_agent(flush: false)
      method cleanup_source_only_buffer_agent (line 214) | def cleanup_source_only_buffer_agent
      method lifecycle (line 218) | def lifecycle(desc: false, kind_callback: nil, kind_or_agent_list: nil)
      method start (line 261) | def start(kind_or_agent_list: nil)
      method flush! (line 274) | def flush!
      method cancel_source_only! (line 294) | def cancel_source_only!
      method shutdown (line 326) | def shutdown(kind_or_agent_list: nil)
      method suppress_interval (line 401) | def suppress_interval(interval_time)
      method add_source (line 406) | def add_source(type, conf)
      method add_label (line 425) | def add_label(name)
      method find_label (line 432) | def find_label(label_name)
      method emit_error_event (line 440) | def emit_error_event(tag, time, record, error)
      method handle_emits_error (line 452) | def handle_emits_error(tag, es, error)

FILE: lib/fluent/rpc.rb
  type Fluent (line 19) | module Fluent
    type RPC (line 20) | module RPC
      class Server (line 21) | class Server
        method initialize (line 22) | def initialize(endpoint, log)
        method mount (line 37) | def mount(path, servlet, *args)
        method mount_proc (line 42) | def mount_proc(path, &block)
        method start (line 76) | def start
        method shutdown (line 83) | def shutdown

FILE: lib/fluent/source_only_buffer_agent.rb
  type Fluent (line 20) | module Fluent
    class SourceOnlyBufferAgent (line 21) | class SourceOnlyBufferAgent < Agent
      method initialize (line 26) | def initialize(log:, system_config:)
      method configure (line 35) | def configure(flush: false)
      method cleanup (line 60) | def cleanup
      method emit_error_event (line 79) | def emit_error_event(tag, time, record, error)
      method handle_emits_error (line 84) | def handle_emits_error(tag, es, error)
      method config_example_to_recover (line 92) | def config_example_to_recover(path)

FILE: lib/fluent/static_config_analysis.rb
  type Fluent (line 20) | module Fluent
    class StaticConfigAnalysis (line 22) | class StaticConfigAnalysis
      type Elem (line 23) | module Elem
      method all_plugins (line 32) | def all_plugins
      method call (line 39) | def self.call(conf, workers: 1)
      method initialize (line 43) | def initialize(workers)
      method call (line 49) | def call(config)
      method reset (line 64) | def reset
      method static_worker_analyse (line 71) | def static_worker_analyse(conf)
      method parse_worker_id (line 103) | def parse_worker_id(conf)
      method static_label_analyse (line 137) | def static_label_analyse(conf)
      method static_filter_and_output_analyse (line 157) | def static_filter_and_output_analyse(conf)
      method static_input_analyse (line 179) | def static_input_analyse(conf)

FILE: lib/fluent/supervisor.rb
  type Fluent (line 41) | module Fluent
    type ServerModule (line 42) | module ServerModule
      function before_run (line 43) | def before_run
      function after_run (line 92) | def after_run
      function cleanup_lock_dir (line 102) | def cleanup_lock_dir
      function run_rpc_server (line 107) | def run_rpc_server
      function stop_rpc_server (line 183) | def stop_rpc_server
      function run_counter_server (line 187) | def run_counter_server(counter_conf)
      function stop_counter_server (line 195) | def stop_counter_server
      function stop_parallel_old_supervisor_after_delay (line 199) | def stop_parallel_old_supervisor_after_delay
      function notify_new_supervisor_that_old_one_has_stopped (line 218) | def notify_new_supervisor_that_old_one_has_stopped
      function install_supervisor_signal_handlers (line 237) | def install_supervisor_signal_handlers
      function restart (line 270) | def restart(graceful)
      function reload (line 276) | def reload
      function install_windows_event_handler (line 283) | def install_windows_event_handler
      function stop_windows_event_thread (line 341) | def stop_windows_event_thread
      function supervisor_sighup_handler (line 349) | def supervisor_sighup_handler
      function supervisor_sigusr1_handler (line 353) | def supervisor_sigusr1_handler
      function graceful_reload (line 358) | def graceful_reload
      function zero_downtime_restart (line 386) | def zero_downtime_restart
      function cancel_source_only (line 432) | def cancel_source_only
      function supervisor_dump_handler_for_windows (line 459) | def supervisor_dump_handler_for_windows
      function kill_worker (line 479) | def kill_worker
      function supervisor_dump_config_handler (line 493) | def supervisor_dump_config_handler
      function supervisor_get_dump_config_handler (line 497) | def supervisor_get_dump_config_handler
      function dump (line 501) | def dump
      function reopen_log (line 507) | def reopen_log
      function send_signal_to_workers (line 517) | def send_signal_to_workers(signal)
      function send_command_to_workers (line 530) | def send_command_to_workers(signal)
      function dump_all_windows_workers (line 544) | def dump_all_windows_workers
    type WorkerModule (line 551) | module WorkerModule
      function spawn (line 552) | def spawn(process_manager)
      function after_start (line 561) | def after_start
      function dump (line 565) | def dump
    class Supervisor (line 570) | class Supervisor
      method serverengine_config (line 571) | def self.serverengine_config(params = {})
      method default_options (line 617) | def self.default_options
      method cleanup_socketmanager_path (line 648) | def self.cleanup_socketmanager_path
      method initialize (line 655) | def initialize(cl_opt)
      method run_supervisor (line 689) | def run_supervisor(dry_run: false)
      method options (line 748) | def options
      method run_worker (line 758) | def run_worker
      method configure (line 789) | def configure(supervisor: false)
      method setup_global_logger (line 852) | def setup_global_logger(supervisor: false)
      method create_socket_manager (line 939) | def create_socket_manager
      method show_plugin_config (line 944) | def show_plugin_config
      method supervise (line 950) | def supervise
      method install_main_process_signal_handlers (line 989) | def install_main_process_signal_handlers
      method install_main_process_command_handlers (line 1042) | def install_main_process_command_handlers
      method flush_buffer (line 1076) | def flush_buffer
      method cancel_source_only (line 1092) | def cancel_source_only
      method reload_config (line 1104) | def reload_config
      method dump_non_windows (line 1137) | def dump_non_windows
      method dump_windows (line 1145) | def dump_windows
      method logging_with_console_output (line 1155) | def logging_with_console_output
      method main_process (line 1166) | def main_process(&block)
      method build_system_config (line 1211) | def build_system_config(conf)
      method build_additional_configurations (line 1229) | def build_additional_configurations(parsed_files)
      method build_spawn_command (line 1260) | def build_spawn_command
    type FluentSigdump (line 1299) | module FluentSigdump
      function dump_windows (line 1300) | def self.dump_windows
      function get_path_with_pid (line 1316) | def self.get_path_with_pid(raw_path)

FILE: lib/fluent/system_config.rb
  type Fluent (line 21) | module Fluent
    class SystemConfig (line 22) | class SystemConfig
      method force_stacktrace_level? (line 122) | def force_stacktrace_level?
      method create (line 126) | def self.create(conf, strict_config_value=false)
      method blank_system_config (line 134) | def self.blank_system_config
      method overwrite_system_config (line 138) | def self.overwrite_system_config(hash)
      method initialize (line 148) | def initialize(conf=nil, strict_config_value=false)
      method configure (line 154) | def configure(conf, strict_config_value=false)
      method dup (line 173) | def dup
      method overwrite_variables (line 181) | def overwrite_variables(**opt)
      type Mixin (line 189) | module Mixin
        function system_config (line 190) | def system_config
        function system_config_override (line 199) | def system_config_override(opts={})

FILE: lib/fluent/test.rb
  type Fluent (line 29) | module Fluent
    type Test (line 30) | module Test
      function dummy_logger (line 31) | def self.dummy_logger
      function setup (line 38) | def self.setup

FILE: lib/fluent/test/base.rb
  type Fluent (line 23) | module Fluent
    type Test (line 24) | module Test
      class TestDriver (line 25) | class TestDriver
        method initialize (line 28) | def initialize(klass, &block)
        method configure (line 51) | def configure(str, use_v1 = false)
        method run (line 65) | def run(num_waits = 10, &block)

FILE: lib/fluent/test/driver/base.rb
  type Fluent (line 28) | module Fluent
    type Test (line 29) | module Test
      type Driver (line 30) | module Driver
        class TestTimedOut (line 31) | class TestTimedOut < RuntimeError; end
        class Base (line 33) | class Base
          method initialize (line 38) | def initialize(klass, opts: {}, &block)
          method configure (line 59) | def configure(conf, syntax: :v1)
          method end_if (line 63) | def end_if(&block)
          method break_if (line 68) | def break_if(&block)
          method broken? (line 73) | def broken?
          method run (line 77) | def run(timeout: nil, start: true, shutdown: true, &block)
          method instance_start (line 104) | def instance_start
          method instance_hook_after_started (line 137) | def instance_hook_after_started
          method instance_hook_before_stopped (line 141) | def instanc
Condensed preview — 578 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (3,921K chars).
[
  {
    "path": ".deepsource.toml",
    "chars": 165,
    "preview": "version = 1\n\ntest_patterns = [\"test/**/test_*.rb\"]\n\nexclude_patterns = [\n    \"bin/**\",\n    \"docs/**\",\n    \"example/**\"\n]"
  },
  {
    "path": ".github/DISCUSSION_TEMPLATE/q-a-japanese.yml",
    "chars": 1327,
    "preview": "title: \"[QA (Japanese)]\"\nlabels: [\"Q&A (Japanese)\"]\nbody:\n  - type: markdown\n    attributes:\n      value: |\n        日本語で"
  },
  {
    "path": ".github/DISCUSSION_TEMPLATE/q-a.yml",
    "chars": 1359,
    "preview": "title: \"[Q&A]\"\nlabels: [\"Q&A\"]\nbody:\n  - type: markdown\n    attributes:\n      value: |\n        It is recommended to supp"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/bug_report.yml",
    "chars": 2130,
    "preview": "name: Bug Report\ndescription: Create a report with a procedure for reproducing the bug\nlabels: \"waiting-for-triage\"\nbody"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/config.yml",
    "chars": 492,
    "preview": "blank_issues_enabled: false\ncontact_links:\n  - name: Ask a Question\n    url: https://github.com/fluent/fluentd/discussio"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/feature_request.yml",
    "chars": 1310,
    "preview": "name: Feature request\ndescription: Suggest an idea for this project\nlabels: \"waiting-for-triage\"\nbody:\n  - type: markdow"
  },
  {
    "path": ".github/ISSUE_TEMPLATE.md",
    "chars": 929,
    "preview": "Check [CONTRIBUTING guideline](https://github.com/fluent/fluentd/blob/master/CONTRIBUTING.md) first and here is the list"
  },
  {
    "path": ".github/PULL_REQUEST_TEMPLATE.md",
    "chars": 333,
    "preview": "<!--\nThank you for contributing to Fluentd!\nYour commits need to follow DCO: https://probot.github.io/apps/dco/\nAnd plea"
  },
  {
    "path": ".github/dependabot.yml",
    "chars": 118,
    "preview": "version: 2\nupdates:\n  - package-ecosystem: 'github-actions'\n    directory: '/'\n    schedule:\n      interval: 'weekly'\n"
  },
  {
    "path": ".github/workflows/backport.yml",
    "chars": 1337,
    "preview": "name: Backport Pull Requests\n\non:\n  schedule:\n    # Sun 10:00 (JST)\n    - cron: '0 1 * * 0'\n  workflow_dispatch:\n\npermis"
  },
  {
    "path": ".github/workflows/benchmark.yml",
    "chars": 1041,
    "preview": "name: Benchmark\n\non:\n  push:\n    branches: [master]\n  pull_request:\n    branches: [master]\n  workflow_dispatch:\n\npermiss"
  },
  {
    "path": ".github/workflows/rubocop.yml",
    "chars": 982,
    "preview": "name: RucoCop Security & Performance Check\n\non:\n  push:\n    paths-ignore:\n      - '*.md'\n      - 'lib/fluent/version.rb'"
  },
  {
    "path": ".github/workflows/scorecards.yml",
    "chars": 2933,
    "preview": "name: Scorecard supply-chain security\non:\n  # For Branch-Protection check. Only the default branch is supported. See\n  #"
  },
  {
    "path": ".github/workflows/stale-actions.yml",
    "chars": 1356,
    "preview": "name: \"Mark or close stale issues and PRs\"\non:\n  schedule:\n  - cron: \"00 10 * * *\"\n\npermissions: read-all\n\njobs:\n  stale"
  },
  {
    "path": ".github/workflows/test-ruby-head.yml",
    "chars": 1040,
    "preview": "name: Test with Ruby head\n\non:\n  schedule:\n    - cron: '11 14 * * 0'\n  workflow_dispatch:\n\npermissions: read-all\n\njobs:\n"
  },
  {
    "path": ".github/workflows/test.yml",
    "chars": 1970,
    "preview": "name: Test\n\non:\n  push:\n    branches: [master]\n    paths-ignore:\n      - '*.md'\n      - 'lib/fluent/version.rb'\n  pull_r"
  },
  {
    "path": ".gitignore",
    "chars": 335,
    "preview": "Gemfile.lock\nINSTALL\nNEWS\nMakefile\nMakefile.in\nREADME\nac\naclocal.m4\nautom4te.cache\nconfdefs.h\nconfig.log\nconfig.status\nc"
  },
  {
    "path": ".rubocop.yml",
    "chars": 2157,
    "preview": "plugins:\n  - rubocop-performance\n\nAllCops:\n  Exclude:\n    - 'vendor/**/*'\n  NewCops: enable\n  SuggestExtensions: false\n "
  },
  {
    "path": "ADOPTERS.md",
    "chars": 194,
    "preview": "# Fluentd Adopters\n\nFluentd is widely used by hundred of companies, please refer to the testimonial section of our proje"
  },
  {
    "path": "AUTHORS",
    "chars": 90,
    "preview": "FURUHASHI Sadayuki <frsyuki _at_ gmail.com>\nNAKAGAWA Masahiro <repeatedly _at_ gmail.com>\n"
  },
  {
    "path": "CHANGELOG.md",
    "chars": 119346,
    "preview": "# v1.20\n\n## Release v1.20.0 - TBD\n\n### Bug fix\n\n* http_server helper: Fix IPv6 bind address support in URI construction\n"
  },
  {
    "path": "CONTRIBUTING.md",
    "chars": 2229,
    "preview": "# Contributing to Fluentd\n\nWe'd love your contribution. Here are the guidelines!\n\n## Got a question or problem?\n\nRESOURC"
  },
  {
    "path": "GOVERNANCE.md",
    "chars": 2856,
    "preview": "# Fluentd Governance\n\n## Principles\n\nThe Fluentd community adheres to the following principles:\n\n- Open: Fluentd is open"
  },
  {
    "path": "Gemfile",
    "chars": 272,
    "preview": "source 'https://rubygems.org/'\n\ngemspec\n\ngem 'benchmark'\n\nlocal_gemfile = File.join(File.dirname(__FILE__), \"Gemfile.loc"
  },
  {
    "path": "GithubWorkflow.md",
    "chars": 2731,
    "preview": "# Github workflow for contributing to fluentd\n\nTable of Contents\n\n* [Fork a repository](#fork-a-repository)\n* [Clone for"
  },
  {
    "path": "LICENSE",
    "chars": 11351,
    "preview": "\n                                 Apache License\n                           Version 2.0, January 2004\n                  "
  },
  {
    "path": "MAINTAINERS.md",
    "chars": 990,
    "preview": "# Fluentd Maintainers\n\n- [Naotoshi Seo](https://github.com/sonots), [ZOZO Technologies](https://tech.zozo.com/en/)\n- [Ok"
  },
  {
    "path": "README.md",
    "chars": 2692,
    "preview": "Fluentd: Open-Source Log Collector\n===================================\n\n[![Test](https://github.com/fluent/fluentd/actio"
  },
  {
    "path": "Rakefile",
    "chars": 3040,
    "preview": "#!/usr/bin/env rake\nrequire \"bundler/gem_tasks\"\n\nrequire 'fileutils'\nrequire 'rake/testtask'\nrequire 'rake/clean'\n\nrequi"
  },
  {
    "path": "SECURITY.md",
    "chars": 1160,
    "preview": "# Security Policy\n\n## Supported Versions\n\n|  Version  |     Supported      |\n|-----------|--------------------|\n| 1.19.x"
  },
  {
    "path": "bin/fluent-binlog-reader",
    "chars": 203,
    "preview": "#!/usr/bin/env ruby\n# -*- coding: utf-8 -*-\nhere = File.dirname(__FILE__)\n$LOAD_PATH << File.expand_path(File.join(here,"
  },
  {
    "path": "bin/fluent-ca-generate",
    "chars": 133,
    "preview": "#!/usr/bin/env ruby\n\n$LOAD_PATH.unshift(File.join(__dir__, 'lib'))\nrequire 'fluent/command/ca_generate'\n\nFluent::CaGener"
  },
  {
    "path": "bin/fluent-cap-ctl",
    "chars": 192,
    "preview": "#!/usr/bin/env ruby\n# -*- coding: utf-8 -*-\nhere = File.dirname(__FILE__)\n$LOAD_PATH << File.expand_path(File.join(here,"
  },
  {
    "path": "bin/fluent-ctl",
    "chars": 163,
    "preview": "#!/usr/bin/env ruby\n\nhere = File.dirname(__FILE__)\n$LOAD_PATH << File.expand_path(File.join(here, '..', 'lib'))\nrequire "
  },
  {
    "path": "bin/fluent-debug",
    "chars": 166,
    "preview": "#!/usr/bin/env ruby\n# -*- coding: utf-8 -*-\nhere = File.dirname(__FILE__)\n$LOAD_PATH << File.expand_path(File.join(here,"
  },
  {
    "path": "bin/fluent-plugin-config-format",
    "chars": 153,
    "preview": "#!/usr/bin/env ruby\n$LOAD_PATH.unshift(File.join(__dir__, 'lib'))\nrequire 'fluent/command/plugin_config_formatter'\n\nFlue"
  },
  {
    "path": "bin/fluent-plugin-generate",
    "chars": 158,
    "preview": "#!/usr/bin/env ruby\n$LOAD_PATH << File.expand_path(File.join(__dir__, '..', 'lib'))\nrequire 'fluent/command/plugin_gener"
  },
  {
    "path": "code-of-conduct.md",
    "chars": 149,
    "preview": "## Fluentd Community Code of Conduct\n\nFluentd follows the [CNCF Code of Conduct](https://github.com/cncf/foundation/blob"
  },
  {
    "path": "example/copy_roundrobin.conf",
    "chars": 573,
    "preview": "<source>\n  @type  sample\n  @label @test\n  tag    test.copy\n  auto_increment_key id\n</source>\n\n<source>\n  @type sample\n  "
  },
  {
    "path": "example/counter.conf",
    "chars": 249,
    "preview": "<system>\n  <counter_server>\n    scope server1\n    bind 127.0.0.1\n    port 24321\n    backup_path tmp/back\n  </counter_ser"
  },
  {
    "path": "example/filter_stdout.conf",
    "chars": 228,
    "preview": "<source>\n  @type sample\n  tag sample\n</source>\n\n<filter **>\n  @type stdout\n</filter>\n\n<filter **>\n  @type stdout\n  outpu"
  },
  {
    "path": "example/in_forward.conf",
    "chars": 174,
    "preview": "<system>\n  rpc_endpoint 0.0.0.0:24444\n</system>\n\n<source>\n  @type forward\n</source>\n\n<match test>\n  @type stdout\n  # <bu"
  },
  {
    "path": "example/in_forward_client.conf",
    "chars": 742,
    "preview": "<system>\n  rpc_endpoint 0.0.0.0:24444\n</system>\n\n<source>\n  @type forward\n  port 24224\n  bind 0.0.0.0\n  <security>\n    s"
  },
  {
    "path": "example/in_forward_shared_key.conf",
    "chars": 237,
    "preview": "<system>\n  rpc_endpoint 0.0.0.0:24444\n</system>\n\n<source>\n  @type forward\n  <security>\n    self_hostname input.testing.l"
  },
  {
    "path": "example/in_forward_tls.conf",
    "chars": 189,
    "preview": "<source>\n  @type forward\n  port 24224\n  <transport tls>\n    insecure true\n  </transport>\n</source>\n\n<match test>\n  @type"
  },
  {
    "path": "example/in_forward_users.conf",
    "chars": 434,
    "preview": "<system>\n  rpc_endpoint 0.0.0.0:24444\n</system>\n\n<source>\n  @type forward\n  <security>\n    self_hostname input.testing.l"
  },
  {
    "path": "example/in_forward_workers.conf",
    "chars": 312,
    "preview": "<system>\n  workers 3\n  root_dir \"#{File.join(Dir.pwd, 'test', 'tmp', 'root')}\"\n</system>\n\n<source>\n  @type forward\n  @id"
  },
  {
    "path": "example/in_http.conf",
    "chars": 218,
    "preview": "<source>\n  @type http\n  bind 0.0.0.0\n  port 9880\n  body_size_limit 32MB\n  keepalive_timeout 10\n  # backlog 0\n  add_http_"
  },
  {
    "path": "example/in_out_forward.conf",
    "chars": 246,
    "preview": "<source>\n  @type forward\n  port 24224\n</source>\n\n<match test.**>\n  @type forward\n  buffer_type file\n  buffer_path /tmp/f"
  },
  {
    "path": "example/in_sample_blocks.conf",
    "chars": 303,
    "preview": "<source>\n  @type sample\n  tag sample\n  rate 100\n  sample {\"message\":\"yaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaay\""
  },
  {
    "path": "example/in_sample_with_compression.conf",
    "chars": 495,
    "preview": "<source>\n  @type sample\n  @label @main\n  tag \"test.data\"\n  size 2\n  rate 10\n  sample {\"message\":\"yaaaaaaaaaaaaaaaaaaaaaa"
  },
  {
    "path": "example/in_syslog.conf",
    "chars": 226,
    "preview": "<source>\n  @type syslog\n  bind 0.0.0.0\n  port 5140\n  tag test\n  protocol_type udp\n  include_source_host false\n  source_h"
  },
  {
    "path": "example/in_tail.conf",
    "chars": 225,
    "preview": "<source>\n  @type tail\n  format none\n  path /var/log/fluentd_test.log\n  pos_file /var/log/fluentd_test.pos\n  tag test\n  r"
  },
  {
    "path": "example/in_tcp.conf",
    "chars": 161,
    "preview": "<source>\n  @type tcp\n  format none\n  bind 0.0.0.0\n  port 5170\n  delimiter \\n\n  source_host_key \"host\"\n  tag test\n</sourc"
  },
  {
    "path": "example/in_udp.conf",
    "chars": 168,
    "preview": "<source>\n  @type udp\n  format none\n  bind 0.0.0.0\n  port 5160\n  body_size_limit 4KB\n  source_host_key \"host\"\n  tag test\n"
  },
  {
    "path": "example/logevents.conf",
    "chars": 480,
    "preview": "<source>\n  @type sample\n  @label @samplelog\n  tag \"data\"\n  sample {\"message\":\"yay\"}\n</source>\n<label @samplelog>\n  <matc"
  },
  {
    "path": "example/multi_filters.conf",
    "chars": 743,
    "preview": "# This example is to measure optimized filter pipeline performance.\n\n<source>\n  @type sample\n  tag   test\n  size 1000\n</"
  },
  {
    "path": "example/out_copy.conf",
    "chars": 315,
    "preview": "<source>\n  @type forward\n</source>\n\n<match test>\n  @type copy\n  deep_copy false\n  <store>\n    @type stdout\n  </store>\n  "
  },
  {
    "path": "example/out_exec_filter.conf",
    "chars": 780,
    "preview": "<source>\n  @type sample\n  @label @exec\n  tag exec_input\n  rate 10\n  auto_increment_key num\n  sample {\"data\":\"mydata\"}\n</"
  },
  {
    "path": "example/out_file.conf",
    "chars": 211,
    "preview": "<source>\n  @type forward\n</source>\n\n<match test>\n  @type file\n  path /var/log/fluentd/out_file_test\n  format json\n  buff"
  },
  {
    "path": "example/out_forward.conf",
    "chars": 537,
    "preview": "<source>\n  @type sample\n  tag test\n</source>\n\n<match test>\n  @type forward\n\n  <server>\n    # first server\n    host 127.0"
  },
  {
    "path": "example/out_forward_buf_file.conf",
    "chars": 370,
    "preview": "<source>\n    @type sample\n    tag test\n</source>\n\n<source>\n    @type monitor_agent\n    emit_interval 5\n</source>\n\n<match"
  },
  {
    "path": "example/out_forward_client.conf",
    "chars": 2406,
    "preview": "<source>\n  @type sample\n  tag test\n</source>\n<source>\n  @type sample\n  tag test2\n</source>\n<source>\n  @type sample\n  tag"
  },
  {
    "path": "example/out_forward_heartbeat_none.conf",
    "chars": 211,
    "preview": "<source>\n  @type sample\n  tag test\n</source>\n\n<match test>\n  @type forward\n  heartbeat_type none\n  <server>\n    host 127"
  },
  {
    "path": "example/out_forward_sd.conf",
    "chars": 228,
    "preview": "<source>\n  @type sample\n  tag test\n</source>\n\n<match test>\n  @type forward\n\n  <service_discovery>\n    @type file\n    pat"
  },
  {
    "path": "example/out_forward_shared_key.conf",
    "chars": 734,
    "preview": "<source>\n  @type sample\n  tag test\n</source>\n<source>\n  @type sample\n  tag test2\n</source>\n\n<match test>\n  @type forward"
  },
  {
    "path": "example/out_forward_tls.conf",
    "chars": 245,
    "preview": "<source>\n  @type sample\n  tag test\n</source>\n\n<match test>\n  @type forward\n  transport tls\n  tls_insecure_mode true\n  <s"
  },
  {
    "path": "example/out_forward_users.conf",
    "chars": 1271,
    "preview": "<source>\n  @type sample\n  tag test\n</source>\n<source>\n  @type sample\n  tag test2\n</source>\n<source>\n  @type sample\n  tag"
  },
  {
    "path": "example/out_null.conf",
    "chars": 726,
    "preview": "#\n# bundle exec bin/fluentd -c example/out_buffered_null.conf\n#   (+ --emit-error-log-interval 10)\n<source>\n  @type samp"
  },
  {
    "path": "example/sd.yaml",
    "chars": 136,
    "preview": "- 'host': 127.0.0.1\n  'port': 24224\n  'weight': 1\n  'name': server1\n- 'host': 127.0.0.1\n  'port': 24225\n  'weight': 1\n  "
  },
  {
    "path": "example/secondary_file.conf",
    "chars": 563,
    "preview": "<system>\n  rpc_endpoint 0.0.0.0:24444\n</system>\n\n<source>\n  @type sample\n  tag test\n</source>\n\n<source>\n  @type forward\n"
  },
  {
    "path": "example/suppress_config_dump.conf",
    "chars": 88,
    "preview": "<system>\n  suppress_config_dump false\n</system>\n\n<match data.*>\n  @type stdout\n</match>\n"
  },
  {
    "path": "example/v0_12_filter.conf",
    "chars": 1867,
    "preview": "# An example config to use filter plugins.\n# THIS FEATURE IS SUPPORTED FOR v0.12 AND ABOVE.\n\n# in_forward to generate ev"
  },
  {
    "path": "example/v1_literal_example.conf",
    "chars": 1207,
    "preview": "<section1>\n  key1  'text'     # text\n  key2  '\\''       # ' (1 char)\n  key3  '\\\\'       # \\ (1 char)\n  key4  '\\t'       "
  },
  {
    "path": "example/worker_section.conf",
    "chars": 686,
    "preview": "<system>\n  workers 4\n  root_dir /path/fluentd/root\n</system>\n\n<source> # top-level sections works on all workers in para"
  },
  {
    "path": "fluent.conf",
    "chars": 2710,
    "preview": "# In v1 configuration, type and id are @ prefix parameters.\n# @type and @id are recommended. type and id are still avail"
  },
  {
    "path": "fluentd.gemspec",
    "chars": 3996,
    "preview": "require File.expand_path('../lib/fluent/version', __FILE__)\n\nGem::Specification.new do |gem|\n  gem.name          = \"flue"
  },
  {
    "path": "lib/fluent/agent.rb",
    "chars": 5067,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/capability.rb",
    "chars": 1851,
    "preview": "#\n# Fluent\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except "
  },
  {
    "path": "lib/fluent/clock.rb",
    "chars": 1729,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/command/binlog_reader.rb",
    "chars": 5951,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/command/bundler_injection.rb",
    "chars": 1169,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/command/ca_generate.rb",
    "chars": 5641,
    "preview": "require 'openssl'\nrequire 'optparse'\nrequire 'fileutils'\nrequire 'fluent/version'\n\nmodule Fluent\n  class CaGenerate\n    "
  },
  {
    "path": "lib/fluent/command/cap_ctl.rb",
    "chars": 5179,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/command/cat.rb",
    "chars": 7428,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/command/ctl.rb",
    "chars": 4997,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/command/debug.rb",
    "chars": 2406,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/command/fluentd.rb",
    "chars": 11285,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/command/plugin_config_formatter.rb",
    "chars": 8720,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/command/plugin_generator.rb",
    "chars": 8415,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/compat/call_super_mixin.rb",
    "chars": 2877,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/compat/detach_process_mixin.rb",
    "chars": 966,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/compat/exec_util.rb",
    "chars": 2965,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/compat/file_util.rb",
    "chars": 1705,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/compat/filter.rb",
    "chars": 1913,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/compat/formatter.rb",
    "chars": 3787,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/compat/formatter_utils.rb",
    "chars": 3330,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/compat/handle_tag_and_time_mixin.rb",
    "chars": 1925,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/compat/handle_tag_name_mixin.rb",
    "chars": 1827,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/compat/input.rb",
    "chars": 1290,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/compat/output.rb",
    "chars": 24380,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/compat/output_chain.rb",
    "chars": 1478,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/compat/parser.rb",
    "chars": 9637,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/compat/parser_utils.rb",
    "chars": 1233,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/compat/propagate_default.rb",
    "chars": 2429,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/compat/record_filter_mixin.rb",
    "chars": 957,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/compat/set_tag_key_mixin.rb",
    "chars": 1399,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/compat/set_time_key_mixin.rb",
    "chars": 1952,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/compat/socket_util.rb",
    "chars": 4551,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/compat/string_util.rb",
    "chars": 1067,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/compat/structured_format_mixin.rb",
    "chars": 786,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/compat/type_converter.rb",
    "chars": 2529,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/config/basic_parser.rb",
    "chars": 2844,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/config/configure_proxy.rb",
    "chars": 15497,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/config/dsl.rb",
    "chars": 4477,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/config/element.rb",
    "chars": 7862,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/config/error.rb",
    "chars": 1025,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/config/literal_parser.rb",
    "chars": 7499,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/config/parser.rb",
    "chars": 3952,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/config/section.rb",
    "chars": 9621,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/config/types.rb",
    "chars": 7172,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/config/v1_parser.rb",
    "chars": 7089,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/config/yaml_parser/fluent_value.rb",
    "chars": 1178,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/config/yaml_parser/loader.rb",
    "chars": 3354,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/config/yaml_parser/parser.rb",
    "chars": 5691,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/config/yaml_parser/section_builder.rb",
    "chars": 2712,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/config/yaml_parser.rb",
    "chars": 1711,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/config.rb",
    "chars": 3268,
    "preview": "#\n# Fluent\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except "
  },
  {
    "path": "lib/fluent/configurable.rb",
    "chars": 6621,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/counter/base_socket.rb",
    "chars": 1119,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/counter/client.rb",
    "chars": 7287,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/counter/error.rb",
    "chars": 1985,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/counter/mutex_hash.rb",
    "chars": 4023,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/counter/server.rb",
    "chars": 7735,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/counter/store.rb",
    "chars": 5397,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/counter/validator.rb",
    "chars": 4326,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/counter.rb",
    "chars": 694,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/daemon.rb",
    "chars": 408,
    "preview": "#!/usr/bin/env ruby\n# -*- coding: utf-8 -*-\n\nhere = File.dirname(__FILE__)\n$LOAD_PATH << File.expand_path(File.join(here"
  },
  {
    "path": "lib/fluent/daemonizer.rb",
    "chars": 2372,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/engine.rb",
    "chars": 7840,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/env.rb",
    "chars": 1411,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/error.rb",
    "chars": 1004,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/event.rb",
    "chars": 8469,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/event_router.rb",
    "chars": 8855,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/ext_monitor_require.rb",
    "chars": 883,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/file_wrapper.rb",
    "chars": 3976,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/filter.rb",
    "chars": 672,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/fluent_log_event_router.rb",
    "chars": 4475,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/formatter.rb",
    "chars": 772,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/input.rb",
    "chars": 669,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/label.rb",
    "chars": 1190,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/load.rb",
    "chars": 719,
    "preview": "require 'socket'\nrequire 'fcntl'\nrequire 'time'\nrequire 'stringio'\nrequire 'fileutils'\nrequire 'json'\nrequire 'yajl'\nreq"
  },
  {
    "path": "lib/fluent/log/console_adapter.rb",
    "chars": 2196,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/log.rb",
    "chars": 23154,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/match.rb",
    "chars": 4061,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/mixin.rb",
    "chars": 1132,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/msgpack_factory.rb",
    "chars": 3323,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/oj_options.rb",
    "chars": 1261,
    "preview": "require 'fluent/config/types'\n\nmodule Fluent\n  class OjOptions\n    OPTIONS = {\n      'bigdecimal_load': :symbol,\n      '"
  },
  {
    "path": "lib/fluent/output.rb",
    "chars": 1076,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/output_chain.rb",
    "chars": 792,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/parser.rb",
    "chars": 766,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/plugin/bare_output.rb",
    "chars": 2952,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/plugin/base.rb",
    "chars": 5884,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/plugin/buf_file.rb",
    "chars": 10221,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/plugin/buf_file_single.rb",
    "chars": 10324,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/plugin/buf_memory.rb",
    "chars": 980,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/plugin/buffer/chunk.rb",
    "chars": 9060,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/plugin/buffer/file_chunk.rb",
    "chars": 14946,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/plugin/buffer/file_single_chunk.rb",
    "chars": 9968,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/plugin/buffer/memory_chunk.rb",
    "chars": 2292,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/plugin/buffer.rb",
    "chars": 37379,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/plugin/compressable.rb",
    "chars": 4341,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/plugin/exec_util.rb",
    "chars": 692,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/plugin/file_util.rb",
    "chars": 692,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/plugin/filter.rb",
    "chars": 3928,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/plugin/filter_grep.rb",
    "chars": 7736,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/plugin/filter_parser.rb",
    "chars": 4236,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/plugin/filter_record_transformer.rb",
    "chars": 10414,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/plugin/filter_stdout.rb",
    "chars": 1413,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/plugin/formatter.rb",
    "chars": 1912,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/plugin/formatter_csv.rb",
    "chars": 3004,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/plugin/formatter_hash.rb",
    "chars": 982,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/plugin/formatter_json.rb",
    "chars": 1791,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/plugin/formatter_ltsv.rb",
    "chars": 1419,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/plugin/formatter_msgpack.rb",
    "chars": 888,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/plugin/formatter_out_file.rb",
    "chars": 1667,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/plugin/formatter_single_value.rb",
    "chars": 1083,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/plugin/formatter_stdout.rb",
    "chars": 1808,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/plugin/formatter_tsv.rb",
    "chars": 1315,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/plugin/in_debug_agent.rb",
    "chars": 1884,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/plugin/in_dummy.rb",
    "chars": 650,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/plugin/in_exec.rb",
    "chars": 3946,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/plugin/in_forward.rb",
    "chars": 17932,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/plugin/in_gc_stat.rb",
    "chars": 1639,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/plugin/in_http.rb",
    "chars": 19997,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/plugin/in_monitor_agent.rb",
    "chars": 12272,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/plugin/in_object_space.rb",
    "chars": 2038,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/plugin/in_sample.rb",
    "chars": 4774,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/plugin/in_syslog.rb",
    "chars": 9099,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  },
  {
    "path": "lib/fluent/plugin/in_tail/group_watch.rb",
    "chars": 6478,
    "preview": "#\n# Fluentd\n#\n#    Licensed under the Apache License, Version 2.0 (the \"License\");\n#    you may not use this file except"
  }
]

// ... and 378 more files (download for full content)

About this extraction

This page contains the full source code of the fluent/fluentd GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 578 files (3.6 MB), approximately 959.6k tokens, and a symbol index with 5493 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!