2016-11-23 1 views
1

로그 수준을 webconsole에서 INFO로 제한하고 로그 파일에서 DEBUG로 제한하려고합니다. blueprint.xml :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 

이이 경로입니다 : org.ops4j.pax.logging.cfg에서 :이 시도

<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에서 레벨은 먼저 로거 수준에서 계산됩니다. 이 필터링을 통과 한 메시지 만이 애펜더로 전달됩니다.

그래서 루트 수준에서 DEBUG 수준을 사용하고 일부 추가 기능에 INFO를 사용해야합니다.

웹 콘솔로 이동하는 항목을 선택적으로 제한 할 수 있는지 여부는 확실하지 않습니다.

+0

답장을 보내 주셔서 감사합니다. – zied123456