Fluentd match tag wildcard pattern 也匹配下面的模式吗?

Fluentd match tag wildcard pattern matching patterns below it too?

在 Fluentd 配置文件中我有这样的配置

<match a.b.**.stag>

下面还有一个匹配标签如下

<match a.b.c.d.**>

现在根据文档 ** 将匹配零个或多个标签部分。然而,我有点怀疑第二个标签是否会被匹配,或者事件是否会被第一个 <match> 本身吞噬。我想确认的是,第一个标签是否会匹配本来会匹配第二个事件的事件? 第二个 match 的目标事件中没有 stag 但其余部分与第一个匹配标记目标事件相同。

What I want to confirm is that the first tag will match the events which would have otherwise matched second event or not?

这真的取决于输入,所以:不,一般情况下不是这样。

+--------------+------------------------+-----------------------+
| Tag          | Matched by a.b.**.stag | Matched by a.b.c.d.** |
+--------------+------------------------+-----------------------+
| a.b.c.stag   | X                      |                       |
| a.b.c.d.stag | X                      | X                     |
| a.b.c.d.e    |                        | X                     |
| a.b.c.stag.e |                        |                       |
+--------------+------------------------+-----------------------+

不过,作为一般规则,在紧匹配之后定义宽匹配。

如果您需要匹配来排除特定标签,而这些标签不应被后续更紧密的匹配所接受(例如,如果您不希望第二个匹配包含任何带有 stag 的标签),请考虑使用模式列表:

<match a.b.c.stag a.b.d.stag>

或模式组合:

<match a.b.{c,d.*}.stag>

这些只是示例,因为我不知道所有可能标签的范围。