我的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
我该怎么做才能做到这一点。分享必要的步骤。
答案 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