0

我有一个要求,对于每个水槽事件,我必须在 spooldir 目录中添加文件的文件名和文件创建日期。我发现我可以通过设置 fileHeader=true 在事件标题中添加文件名。同样,我还可以通过编写一些自定义拦截器来查找文件创建日期吗?

4

1 回答 1

0

文件名在 Spool Source 实现中设置:

if (annotateFileName) {
  String filename = currentFile.get().getFile().getAbsolutePath();
  for (Event event : events) {
    event.getHeaders().put(fileNameHeader, filename);
  }
}

这是该 Source 类型的特定实现细节。如果要保留原始文件名,则需要设置属性,这些是可用的选项:

fileHeader  false   Whether to add a header storing the absolute path filename.
fileHeaderKey   file    Header key to use when appending absolute path filename to event header.

如果要添加时间戳,实际上可以使用内置拦截器:

  • TimestampInterceptor 用于时间戳
  • 水槽实例主机名的主机拦截器
  • 任何常量值的静态拦截器。
于 2015-02-17T12:14:43.023 回答