我们有一个系统将日志文件上传到按日期命名的文件夹中。看起来像:
/logs
/20181030
/20181031
/20181101
/20181102
/...
假设我想跟踪使用spoolDir在11月期间生成的日志文件,我该怎么做?
#this won't work
a1.sources.r1.spoolDir = /logs/201811??
#this seems only works with files. Is it possible to filter folders here?
a1.sources.r1.includePattern = ^.*\.txt$
答案 0 :(得分:0)
根据水槽源代码,在递归文件夹树(注册文件夹跟踪器)时会跳过与 ignorePattern 匹配的文件夹。因此,您可以忽略不符合条件的文件夹。 ^(?!201811..).*$
将排除不是2018年11月的文件夹的所有文件夹。将不会跟踪其他文件夹。
但是这种模式也适用于文件名。因此,任何名称与^201811..$
不匹配的文件也将被忽略。您可以将^.*\.txt$
模式(用于包含模式的模式)添加到正则表达式,以使水槽接受您的输入文件。
a1.sources.r1.ignorePattern = ^(?!(201810..)|(.*\\.txt)).*$
将为您解决问题。