想要在servicemix中单独为每个包创建日志

时间:2015-07-29 11:46:13

标签: logging apache-servicemix

我的Maven项目中有3个捆绑包(Maven模块),servicemix默认在data \ log文件夹下创建名为karaf.log的日志。现在我想分别为每个包创建一个日志文件,即

  

Maven模块1 = data \ log \ module1 \ karaf.log

     

Maven模块2 = data \ log \ module2 \ karaf.log

     

Maven模块3 = data \ log \ module3 \ karaf.log

我该怎么做才能做到这一点。分享必要的步骤。

1 个答案:

答案 0 :(得分:0)

尝试使用Karaf Sift appender。

可在此处找到更多信息:http://karaf.apache.org/manual/latest-3.0.x/users-guide/log.html

默认情况下,未启用sift appender。此appender允许您为每个部署的包提供一个日志文件。

# Sift appender
log4j.appender.sift=org.apache.log4j.sift.MDCSiftingAppender
log4j.appender.sift.key=bundle.name
log4j.appender.sift.default=karaf
log4j.appender.sift.appender=org.apache.log4j.FileAppender
log4j.appender.sift.appender.layout=org.apache.log4j.PatternLayout
log4j.appender.sift.appender.layout.ConversionPattern=%d{ISO8601} | %-5.5p | %-16.16t | %-32.32c{1} | %m%n
log4j.appender.sift.appender.file=${karaf.data}/log/$\\{bundle.name\\}.log
log4j.appender.sift.appender.append=true

要启用sifr appender,您可以修改org.ops4j.pax.logging.cfg,如下所示:

log4j.rootLogger=INFO, out, sift