将来自 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
我正在使用 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