为什么 Logstash 不排除它自己的日志文件?

Why is Logstash not excluding it's own log file?

根据 logstash 文档,这应该可行;但是 logstash 通过将自己的 stdout 日志记录到自身来不断引起递归...

我的排除配置有什么不正确的地方?

input {
    file {
        path => "/var/log/**/*"
        exclude => ["**/*.gz", "logstash/*"]

    }
}

output {
    tcp {
        host => "1.2.3.4"
        port => 1234
        mode => client
        codec => json_lines
    }
    stdout { codec => rubydebug }
}

我看到路径设置为 /var/log/logstash/logstash.stdout 的结果,而它应该忽略它们。

(我已经通过完全删除 /var/log/logstash 目录中的日志并重新启动来对此进行了测试)

我已经在数组中尝试了这些排除:

logstash/*
**/logstash/*
/var/log/logstash/* #This is incorrect according to docs

Logstash 的 file input 的排除模式,如文档所述,与遇到的文件的裸文件名匹配,因此问题中的三个模式永远不会匹配任何内容。要排除 Logstash 日志文件和 gzip 文件,请使用 logstash.**.gz 作为排除模式。