阻止 Apache Camel 记录正在移动的文件的完整路径

Stop Apache Camel from logging full path of file being moved

我正在使用 Apache Camel 将文件从一个地方移动到另一个地方。移动时,它会记录完整的文件路径。有办法隐藏吗?

这是相关的代码片段:

from(source).routeId(ROUTE_ID)
            .marshal()
            .process(processor)
            .setHeader(Exchange.FILE_NAME, constant("file.txt"))
            .to(destination)
            .end();

这是日志(请在日志末尾查看):

2020-04-04 03:42:49,013 INFO task-1 org.apache.camel.spring.SpringCamelContext doStartOrResumeRouteConsumers - Route: MyRoute started and consuming from: file:///Users/user/Desktop/?include=file.csv

另外还有一个小问题:
在 filePath 中使用 ?fileName="desiredFileName.txt" 选项与使用 setHeader(Exchange.FILE_NAME, constant("desiredFileName.txt")) 之间有区别吗?我怀疑添加fileName参数是在服务器上重命名文件,而不是在本地进行,然后再上传。

如果不更改日志记录级别或创建您自己的 camel 核心版本,您将无法禁用该日志行。该日志记录在 AbstractCamelContext 中的 this line. 上定义。但好消息是它只在路线开始时发生一次。

在选项中使用 fileName 或 Exchange.FILE_NAME header 没有区别。但是如果设置了 fileName 选项,它将在 FILE_NAME header.

上使用