servicemix

时间:2016-05-23 15:32:44

标签: logging log4j apache-karaf apache-servicemix

我希望每个捆绑包都有一个日志文件。这是我在servicemix中的配置:

log4j.appender.bpa=org.apache.log4j.sift.MDCSiftingAppender
log4j.appender.bpa.key=app.name
log4j.appender.bpa.default=bpa
log4j.appender.bpa.appender=org.apache.log4j.DailyRollingFileAppender
log4j.appender.bpa.appender.DatePattern='.'yyyy-MM-dd
log4j.appender.bpa.appender.layout=org.apache.log4j.PatternLayout 
log4j.appender.bpa.appender.layout.ConversionPattern=%d{ISO8601} | %-5.5p | %-16.16t | %-32.32c{1} | %X{bundle.id} - %X{bundle.name} - %X{bundle.version} | %m%n 
log4j.appender.bpa.appender.file=${karaf.data}/log/${bundle.name}.log 
log4j.appender.bpa.appender.append=true 

log4j.category.com.apba.bpa=INFO, bpa

但结果显示日志名称org.apache.camel.camel-core.log而不是我的包的名称。

有什么问题?谢谢

1 个答案:

答案 0 :(得分:0)

您必须根据捆绑名称更新配置以进行筛选,或者在登录应用程序和Camel路由时使用“MDC”功能。

尝试将此添加到配置:

log4j.appender.sift.key=bundle.name

Camel路由的问题是,所有日志都将用于camel-core软件包,可能不是你想要的。在代码和路由中明确使用MDC标识符的最佳实践。

请参阅JBO的完整博客:http://blog.nanthrax.net/2014/08/mdc-logging-with-apache-karaf-and-camel/