{"id":16643435,"url":"https://github.com/sonots/fluent-plugin-reemit","last_synced_at":"2025-10-30T12:30:17.233Z","repository":{"id":13411655,"uuid":"16100174","full_name":"sonots/fluent-plugin-reemit","owner":"sonots","description":"Fluentd plugin to re-emit messages avoiding infinity match loop to achieve branching of data flow","archived":false,"fork":false,"pushed_at":"2017-09-15T07:32:21.000Z","size":30,"stargazers_count":7,"open_issues_count":0,"forks_count":5,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-22T22:59:30.098Z","etag":null,"topics":["fluentd-output-plugin","fluentd-plugin","multioutput","v10","v12","v14","will-be-deprecated","wont-be-multi-workers-ready"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sonots.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-01-21T11:04:54.000Z","updated_at":"2020-07-23T14:48:50.000Z","dependencies_parsed_at":"2022-09-12T11:44:22.567Z","dependency_job_id":null,"html_url":"https://github.com/sonots/fluent-plugin-reemit","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/sonots/fluent-plugin-reemit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sonots%2Ffluent-plugin-reemit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sonots%2Ffluent-plugin-reemit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sonots%2Ffluent-plugin-reemit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sonots%2Ffluent-plugin-reemit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sonots","download_url":"https://codeload.github.com/sonots/fluent-plugin-reemit/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sonots%2Ffluent-plugin-reemit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280943394,"owners_count":26417747,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-25T02:00:06.499Z","response_time":81,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fluentd-output-plugin","fluentd-plugin","multioutput","v10","v12","v14","will-be-deprecated","wont-be-multi-workers-ready"],"created_at":"2024-10-12T08:08:32.282Z","updated_at":"2025-10-30T12:30:16.904Z","avatar_url":"https://github.com/sonots.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# fluent-plugin-reemit\n\n[![Build Status](https://secure.travis-ci.org/sonots/fluent-plugin-reemit.png?branch=master)](http://travis-ci.org/sonots/fluent-plugin-reemit)\n\nFluentd plugin to re-emit messages avoiding infinity match loop to achieve branching of data flow.\n\n**NOTE: I recommend to use built-in label feature to achieve branching of data flow for Fluentd \u003e v0.12. See below**\n\n## Using relabel plugin instead of reemit plugin\n\nFluentd \u003e v0.12 has the **label** feature. You can achieve branching of data flow without using `reemit` plugin.\nI recommend to use the label feature instead of reemit plugin for Fluentd \u003e v0.12.\n\n```apache\n\u003csource\u003e\n  type forward\n  @label @raw\n\u003c/source\u003e\n\n\u003clabel @raw\u003e\n  \u003cmatch **\u003e\n    type copy\n    \u003cstore\u003e\n      type flowcounter\n      count_keys *\n      @label @flowcounter\n    \u003c/store\u003e\n    \u003cstore\u003e\n      type relabel\n      @label @normal\n    \u003c/store\u003e\n  \u003c/match\u003e\n\u003c/label\u003e\n\n\u003clabel @flowcounter\u003e\n  \u003cmatch **\u003e\n    type stdout # results of flowcounter\n  \u003c/match\u003e\n\u003c/label\u003e\n\n\u003clabel @normal\u003e\n  \u003cmatch **\u003e\n    type stdout # normal flow\n  \u003c/match\u003e\n\u003c/label\u003e\n```\n\n## Installation\n\nUse RubyGems:\n\n    gem install fluent-plugin-reemit\n\n## Configuration\n\nExample:\n\nThis example applies [flowcounter](https://github.com/tagomoris/fluent-plugin-flowcounter) plugin for all messages, then re-emit messages.\nBut, the re-emitted messages will skip the identical match directive (the first one) to avoid an infinity loop. \n\nThis enables you to achieve branching of data flow without modifing tags of messages and `match` conditions.\n\n```apache\n\u003cmatch flowcount\u003e\n  type stdout\n\u003c/match\u003e\n\n\u003cmatch **\u003e\n  type copy\n  \u003cstore\u003e\n    type flowcounter\n    count_keys *\n  \u003c/store\u003e\n  \u003cstore\u003e\n    type reemit\n  \u003c/store\u003e\n\u003c/match\u003e\n\n\u003cmatch **\u003e\n  type stdout\n\u003c/match\u003e\n```\n\n## Option Parameters\n\nNone\n\n## ChangeLog\n\nSee [CHANGELOG.md](CHANGELOG.md) for details.\n\n## Contributing\n\n1. Fork it\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Commit your changes (`git commit -am 'Add some feature'`)\n4. Push to the branch (`git push origin my-new-feature`)\n5. Create new [Pull Request](../../pull/new/master)\n\n## Copyright\n\nCopyright (c) 2013 Naotoshi Seo. See [LICENSE](LICENSE) for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsonots%2Ffluent-plugin-reemit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsonots%2Ffluent-plugin-reemit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsonots%2Ffluent-plugin-reemit/lists"}