[英]How to suppress jboss logging when using Slf4j and logback?
我的依賴看起來像
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.13</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.1.3</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jaxrs</artifactId>
<version>3.0.14.Final</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-client</artifactId>
<version>3.0.14.Final</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-xml</artifactId>
<version>2.6.3</version>
</dependency>
我用它們作為
private static final Logger LOGGER = LoggerFactory.getLogger(StealthWatch.class);
當我使用Maven在控制台上運行應用程序時,我看到
129 [main] DEBUG c.e.boeing.internal.StealthWatch - Stealthwatch with url: http://127.0.0.1:8080/stealthwatch/rest/activities, query: <IDSentrieServiceReq><partner_id>StealthWatchPartnerId</partner_id><partner_passcode>StealthWatchPartnerPasscode</partner_passcode><service name="IDSentrieUser" version="1.1"><action id="IPIDActivityGet"><type>delta</type><time_start>2016-01-08T15:28:37.586</time_start><time_end>2016-01-08T15:28:37.642</time_end></action></service></IDSentrieServiceReq>
200 [main] DEBUG org.jboss.logging - Logging Provider: org.jboss.logging.Slf4jLoggerProvider
201 [main] DEBUG o.j.resteasy.resteasy_jaxrs.i18n - RESTEASY002330: Unable to retrieve config: expandEntityReferences defaults to false
201 [main] DEBUG o.j.resteasy.resteasy_jaxrs.i18n - RESTEASY002335: Unable to retrieve config: enableSecureProcessingFeature defaults to true
201 [main] DEBUG o.j.resteasy.resteasy_jaxrs.i18n - RESTEASY002325: Unable to retrieve config: disableDTDs defaults to true
205 [main] DEBUG o.j.resteasy.resteasy_jaxrs.i18n - RESTEASY002330: Unable to retrieve config: expandEntityReferences defaults to false
205 [main] DEBUG o.j.resteasy.resteasy_jaxrs.i18n - RESTEASY002335: Unable to retrieve config: enableSecureProcessingFeature defaults to true
205 [main] DEBUG o.j.resteasy.resteasy_jaxrs.i18n - RESTEASY002325: Unable to retrieve config: disableDTDs defaults to true
132 [main] DEBUG c.e.boeing.internal.StealthWatch - Stealthwatch with url: http://127.0.0.1:8080/stealthwatch/rest/activities, query: <IDSentrieServiceReq><partner_id>StealthWatchPartnerId</partner_id><partner_passcode>StealthWatchPartnerPasscode</partner_passcode><service name="IDSentrieUser" version="1.1"><action id="IPIDActivityGet"><type>delta</type><time_start>2016-01-08T15:33:06.022</time_start><time_end>2016-01-08T15:33:06.076</time_end></action></service></IDSentrieServiceReq>
我的logback.xml
是
<configuration>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>ec-dhcp.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- daily rollover -->
<fileNamePattern>ec-dhcp.log.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- keep 30 days' worth of history -->
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>
</encoder>
</appender>
<root level="DEBUG">
<appender-ref ref="FILE" />
</root>
</configuration>
如何擺脫所有org.jboss
日志記錄?
顯然,logback已經在處理您的日志輸出,因此您所需要做的就是告訴logback忽略來自org.jboss軟件包的健談信息。
您可以通過將其添加到logback.xml中來做到這一點:
<logger name="org.jboss" level="off" />
我不會完全關閉日志記錄,因為這可能會導致很難發現問題。 因此,也許更好的辦法是先嘗試info
, warn
或error
然后看看它是否“足夠安靜”。 我建議您看看現在的完整日志文件,並檢測哪些軟件包創建了最多的信息。 然后不是全局配置logback,而是按每個程序包配置:
<logger name="org.jboss" level="info" />
<logger name="org.jboss.resteasy" level="warn" />
在SO上有很多關於配置logback的信息,請參閱此示例。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.