向骡子伐木器添加额外信息



我想为每个请求添加一些相关 id,并使其自动显示在日志消息中。如何或多或少地自动向<logger />及其变体添加额外值?

我试过:

  1. Spring aop 切入LoggerMessageProcessor.process(MuleEvent event),但它的事件不包含记录的消息
  2. Spring aop 切入包含消息的LoggerMessageProcessor.setMessage(String msg),但由于某种原因未调用该方法
<flow name="add-correlation-id">
        <scripting:component doc:name="Script">
        <scripting:script engine="groovy">
            <![CDATA[
                String correlationId=message.getInboundProperty('x-request-id');
                if(correlationId==null || correlationId.length() == 0){
                    correlationId = java.util.UUID.randomUUID().toString();
                }
                message.setSessionProperty('requestID',correlationId);
                org.apache.log4j.MDC.put('x-request-id',correlationId);
            ]]>
        </scripting:script>
    </scripting:component>
</flow>

最新更新