Glob 模式支持
编辑Glob 模式支持
编辑在允许使用 glob 模式的任何位置,Logstash 都支持以下模式:
-
*
- 匹配任何文件。您也可以使用
*
来限制 glob 中的其他值。例如,*conf
匹配所有以conf
结尾的文件。*apache*
匹配名称中包含apache
的任何文件。此模式不匹配类 Unix 操作系统上的隐藏文件(点文件)。要匹配点文件,请使用类似{*,.*}
的模式。 -
**
- 递归匹配目录。
-
?
- 匹配任何单个字符。
-
[集合]
- 匹配集合中的任何单个字符。例如,
[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
子目录中的应用程序日志文件。