Glob 模式支持
编辑Glob 模式支持编辑
在允许使用 glob 模式的任何地方,Logstash 都支持以下模式
-
*
- 匹配任何文件。您还可以使用
*
来限制 glob 中的其他值。例如,*conf
匹配以conf
结尾的所有文件。*apache*
匹配名称中包含apache
的任何文件。此模式不匹配类 Unix 操作系统上的隐藏文件(点文件)。要匹配点文件,请使用{*,.*}
之类的模式。 -
**
- 递归匹配目录。
-
?
- 匹配任何一个字符。
-
[set]
- 匹配集合中的任何一个字符。例如,
[a-z]
。也支持集合否定([^a-z]
)。 -
{p,q}
- 匹配文字
p
或文字q
。匹配的文字可以超过一个字符,并且您可以指定两个以上的文字。此模式等效于在正则表达式中使用竖线进行交替(foo|bar
)。 -
\
- 转义下一个元字符。这意味着您不能在 Windows 中将反斜杠用作 glob 的一部分。
c:\foo*
模式不起作用,因此请改用foo*
。
模式示例编辑
以下是一些常见的 glob 模式示例
-
"/path/to/*.conf"
- 匹配指定路径中以
.conf
结尾的配置文件。 -
"/var/log/*.log"
- 匹配指定路径中以
.log
结尾的日志文件。 -
"/var/log/**/*.log"
- 匹配指定路径下子目录中以
.log
结尾的日志文件。 -
"/path/to/logs/{app1,app2,app3}/data.log"
- 匹配指定路径下
app1
、app2
和app3
子目录中的应用程序日志文件。