在我的整个流程中,我有“logger”组件,它将重要的消息写入日志。 Mule本身也输出“INFO”和“ERROR”日志信息,这对我的应用程序的另一部分很重要。现在,我想在流程执行完成后将所有日志消息发送到另一个应用程序。我认为正确的方法是创建一个拦截器,将消息添加到列表集作为流变量,并在流程执行结束时将其发送出去。但是我也希望我的自定义组件Java代码中的logger.debug(),logger.info()也被添加到列表中并被发送出去。
使用拦截器是否是正确的方法?
答案 0 :(得分:0)
我会尝试更简单的方法,在流程结束时将消息丢弃到vm以读取日志文件,另一个流程将监听此vm端点并开始读取日志。将它保存在单独的流程中将使我们能够更好地控制日志文件以读取不同类型的消息。
答案 1 :(得分:0)
您可以在log4j配置中为应用程序配置不同的appender。这允许您使用JMS作为appender。 https://logging.apache.org/log4j/1.2/manual.html
另一种选择是使用Mule服务器通知仅考虑流经消息处理器的消息: http://www.mulesoft.org/documentation/display/current/Mule+Server+Notifications