Ideally, v0.12 routing should work as follows:
<source>
type forward
@label @raw
</source>
<label @raw>
<match raw.**>
type copy
<store>
type flowcounter
tag flowcounter
</store>
</match>
# tag match comes inside label
<match flowcounter>
type stdout
</match>
</label>
However, without fix of MultiOutput plugins such as out_copy
, or config-expander
, v0.12 behaves as follows:
<source>
type forward
@label @raw
</source>
<label @raw>
<match raw.**>
type config_expander
<config>
type flowcounter
tag flowcounter
</store>
</config>
</label>
# flowcounter emits comes here because `router` is root_agent's event_router.
<match flowcounter>
type stdout
</match>
Authors of following plugins should fix their plugins
as
output = Plugin.new_output(type)
+ output.router = router if respond_to?(:router) and output.respond_to?(:router=)
output.configure(e)