2016-11-23 81 views
1

我试图限制日志级别为webconsole中的INFO和日志文件中的DEBUG。我曾尝试这样的:在org.ops4j.pax.logging.cfg :登录Apache KARAF

# Root logger 
log4j.rootLogger=INFO, out, osgi:* 
log4j.throwableRenderer=org.apache.log4j.OsgiThrowableRenderer 

# File appender 
log4j.appender.out.threshold=DEBUG 
log4j.appender.out=org.apache.log4j.RollingFileAppender 
log4j.appender.out.layout=org.apache.log4j.PatternLayout 
log4j.appender.out.layout.ConversionPattern=%d{ISO8601} | %-5.5p | %-16.16t | %-32.32c{1} | %X{bundle.id} - %X{bundle.name} - %X{bundle.version} | %m%n 
log4j.appender.out.file=${karaf.data}/log/karaf.log 
log4j.appender.out.append=true 
log4j.appender.out.maxFileSize=1MB 
log4j.appender.out.maxBackupIndex=10 

这是路线:blueprint.xml:

<route id="timerToLog"> 
     <from uri="timer:foo?period=5000"/> 
     <setBody> 
      <method ref="helloBean" method="hello"/> 
     </setBody> 
     <log message="The message contains ${body}" loggingLevel="DEBUG"/> 
     <log message="ok" loggingLevel="INFO"/> 
</route> 

但我只拿到了信息登录日志文件不是DEBUG。我该怎么做 ?

回答

1

在log4j中,首先计算记录器级别的级别。只有通过这个过滤的消息才会进入appender。

因此,您需要在根级别上使用DEBUG级别,然后对某些appender使用INFO。

不确定您是否可以选择性地限制发送到webconsole的内容。

+0

感谢您的回复! – zied123456