将来自 activemq camel 路由的消息记录到专用日志文件

Log messages from an activemq camel route to a dedicated log file

我正在使用 activemq 5.14.0。

我想使用此处指定的方法:http://camel.apache.org/logeip.html

配置详情如下。

但是tt不起作用。这个配置有什么问题。

---
---
---

camel.xml:

<bean id="debugLogger" class="org.slf4j.LoggerFactory" factory-method="getLogger" xmlns="http://www.springframework.org/schema/beans">
    <constructor-arg value="it.myclass" />
</bean>

I also tried with:

<bean id="debugLogger" class="io.fabric8.insight.log.log4j.Log4jLogQuery" factory-method="getLogger" xmlns="http://www.springframework.org/schema/beans">
    <constructor-arg value="it.myclass" />
</bean>

        <camel:route id="AAA" inheritErrorHandler="true">
            <camel:description>TSM Trading Segment Notifications Route</camel:description>
            <camel:from uri="ref:AAA" />
            <camel:multicast parallelProcessing="true">
                <camel:filter>
                    <camel:simple>${header.TradingSegmentId} == "A"</camel:simple>
                    <camel:to uri="ref:AAA" />
                     <camel:log message="debug ${body}" loggingLevel="INFO" loggerRef="debugLogger">
                </camel:filter>
                <camel:filter> 
                        <camel:simple>${header.TradingSegmentId} == "B"</camel:simple>  
                        <camel:to uri="ref:BBB"/> 
                </camel:filter> 
                <camel:to uri="ref:pt-tsm-ts-cnom-unfiltered" />
            </camel:multicast>
        </camel:route>

---
---
---

log4j.properties:

log4j.logger.it.myclass=DEBUG, debugLogfileAppender

# Debug messages - appender Custom
log4j.appender.debugLogfileAppender=org.apache.log4j.DailyRollingFileAppender
log4j.appender.debugLogfileAppender.file=${activemq.base}/data/activemq-debugLogfile.log
log4j.appender.debugLogfileAppender.DatePattern='.'yyyy-MM-dd-HH
log4j.appender.debugLogfileAppender.append=true
log4j.appender.debugLogfileAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.debugLogfileAppender.layout.ConversionPattern=%d [%-15.15t] - %-5p %-30.30c{1} - %-10.10X{activemq.broker} %-20.20X{activemq.connector} %-10.10X{activemq.destination} - %m%n

您不需要在 XML 中声明记录器。只需使用 "logName" 属性并将 "logger" 添加到 log4j.properties.

<log logName="com.company.debugLogger" .../>

然后将记录器添加到 log4j.properties 文件

log4j.logger.com.company.debugLogger=INFO