java - Jetty 6 always generates debug logs? -
i using jetty 6.1.24 develop web service , code uses slf4j, jetty does, , logging working fine. want though debug logging code but not jetty (it's verbose), cannot stop logging debug info. there system properties set debug mode (-ddebug), not unset debug mode.
my logback log level set start script setting system property 'loglevel' , in turn sets in resources/logback.xml:
<configuration> <appender name="console" class="ch.qos.logback.core.consoleappender"> <layout class="ch.qos.logback.classic.patternlayout"> <pattern>%d [%thread] %level %logger - %m%n</pattern> </layout> </appender> <root level="${loglevel:-info}"> <appender-ref ref="console"/> </root> </configuration>
jetty either generating debug logs, ignored logger if debug not enabled, or else it's using logger.isdebugenabled() set it's debug mode. have ideas on how working?
i had same issue after placing slf4j's jar in {jetty}/lib/ext.
solved placing logback.xml file in {jetty}/resources
<configuration> <appender name="stdout" class="ch.qos.logback.core.consoleappender"> <encoder> <pattern>%d{hh:mm:ss.sss} [%thread] %-5level - %msg%n</pattern> </encoder> </appender> <root level="info"> <appender-ref ref="stdout" /> </root> </configuration>
note 'level="info"'.
explanation:
in configuration jetty uses logger implementation slf4jlog.
slf4jlog, in turn, delegates logback's implementation.
logback.xml tells logback log level , use stdout.
here standard jetty behavior present, except can configure logging levels via logback.xml
in default configuration, can use jetty-logging.xml if want.
off course, can bypass jetty's printstreams , use logback's appenders.
here flow in case use jetty-logging.xml:
someclass --> slf4jlog --> consoleappender--> stdout --> rolloverfileoutputstream (jetty) (jetty) (logback) (os) (jetty)
revisions:
jetty 7.2.2
slf4j 1.6.1
logback 0.9.26
Comments
Post a Comment