【问题标题】:Mule: How to print the file name in logger?Mule:如何在记录器中打印文件名?
【发布时间】:2017-05-04 22:11:50
【问题描述】:

我想打印mule配置文件名,在流的logger中,怎么获取?

假设 test.xml 中的配置文件名,里面有一个流有记录器,它打印 test.xml,我怎样才能得到这个?

<flow name="filenameFlow">
    <http:listener config-ref="HTTP_Listener_Configuration" path="/Hello" doc:name="HTTP"/>
    <logger message="#[app.name.toString()]" level="INFO" doc:name="Logger"/>
</flow>

【问题讨论】:

  • 请提供一个最小的工作示例。
  • 我添加了流程示例

标签: mule mule-studio mule-component mule-module-jpa


【解决方案1】:

[name.flow] 不正确。

你应该选择#[flow.name],这是正确的形式。不要被你的回答误导。

谢谢,

【讨论】:

  • 我要xml名称里面有流名,不是流名,有什么办法吗?
  • 是的。是#[流.名称]。我打字的时候换位了。 ;)
【解决方案2】:

应该打印出您的应用程序的名称,在您的情况下为“test”。然而,这不是 xml 文件的名称。 #[flow.name] 将为您提供当前正在执行的流程的名称。

【讨论】:

  • 我要xml文件的名字
  • 我要xml名称里面有流名,不是流名,有什么办法吗?
  • 据我所知,可能还有其他记录较少的功能,例如 flow.name 可以做到这一点。然而,我对此表示怀疑,因为至少在我看来,包含代码的 .xml 文件的名称不是一个有意义的对象。 xml 文件只是用于组织应用程序的方便容器,对应用程序没有实际的功能属性,而流名称和应用程序名称则有。有了它们,良好的命名模式将有助于轻松找到 xml 文件,最坏的情况是,对流名称进行简单的文本搜索会找到它并与真实对象(流)相关联。
【解决方案3】:

试试这些表达方式:

1) #[message.outboundProperties['originalFileName']]

2) #[header:originalFilename]

【讨论】:

    【解决方案4】:

    几天前我做了几乎同样的事情。 添加property placeholder 类型的global element,给location: mule-deploy.properties。 在记录器中,使用${config.resources}。 如果只有一个配置文件,它将起作用。

    【讨论】:

      【解决方案5】:

      正如@dlb 解释的那样,我也想知道您可能有更好的解决方案来满足您的要求,基本上我假设您想让日志更加透明,并且更容易找到导致任何事件/错误的流程。

      因此,记录流名称而不是可能包含多个流的配置文件名更有意义。您可以为此目的使用日志组件中的类别:

      <logger level="INFO" category="${application-prefix}.myMainFlow" doc:name="Logger" message="#['payload is ---\n' + payload]"/>
      

      在每个日志组件中(日志应该用在重要的地方,比如里程碑),在类别中输入 ${application-prefix}.flowName (属性用于在所有日志中重用应用程序的名称,flowName 应该是硬编码的),然后你会在运行时找到如下日志:

      INFO  2016-09-07 17:00:27,566 [[test].HTTP_Listener_Configuration.worker.01] com.myOrg.myApp.myMainFlow: payload is ---
      

      你好世界

      【讨论】:

        【解决方案6】:
        #[message.outboundproperties[originalFilename]]
        

        试试这个表达式。

        【讨论】:

          猜你喜欢
          • 2017-09-05
          • 2018-08-30
          • 2023-03-06
          • 1970-01-01
          • 2013-03-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多