我有一个Mule应用程序,它正在出站端点中写入一个文件,配置如下:
<file:outbound-endpoint path="${Outbound}" outputPattern="outputFile_#[function:datestamp:yyyyMMddHHmmss].csv" doc:name="Output File"/>
在流程中的这一点之后,我需要沿着"成功创建文件{filename}"的行显示日志消息。
我遇到的问题是,我找不到显示刚刚创建的文件名的方法。我可以输入:Successfully created file outputFile_#[function:datestamp:yyyyMMddHHmmss].csv
,但日期戳可能会相差一秒钟。
在Mule中有没有一种方法可以显示我刚刚写的文件的名称?
更新
根据@til_b的回复,我使用以下方法实现了这一点:
<set-variable value="outputFile_#[function:datestamp:yyyyMMddHHmmss].csv" variableName="Filename" doc:name="Variable"/>
<file:outbound-endpoint path="${Outbound}" outputPattern="#[variable:Filename]" doc:name="Output File"/>
<logger level="INFO" message="Successfully created file #[variable:Filename]" doc:name="Logger" />
我不知道mule,但当我在编程时遇到这样的问题时,我会将生成的文件名存储在一个变量中,然后使用该变量实际创建文件并显示消息。
在伪码中:
var filename = #yyyymmddhhMMss.csv
create_file(filename)
log_message(filename + ' successfully created')