Flume spooldir获取源文件的文件元数据

时间:2014-06-18 07:07:14

标签: flume flume-ng

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

1 个答案:

答案 0 :(得分:0)

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

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

该源类型的具体实现细节。如果要保留originla文件名,则需要设置属性,这些是可用选项:

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
  • 水槽实例的主机拦截器的主机名
  • 任何常量值的StaticInterceptor。