使用logback自定義appender無法生效


項目中同事使用logback輸出日志記錄,使用了簡單自定義實現類作為輸出類,使用代碼及配置如下:

 

1 import ch.qos.logback.classic.spi.LoggingEvent;
2 import ch.qos.logback.core.AppenderBase;
3 
4 public class MyAppender extends AppenderBase<LoggingEvent> {
5     @Override
6     protected void append(LoggingEvent eventObject) {
7         System.out.println("Test append method");
8     }
9 }
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="false" scanPeriod="60 seconds" debug="false">
    <appender name="myAppender" class="com.hx.MyAppender"/>
    <logger name="qcLogger" additivity="false">
        <level value="info"/>
        <appender-ref ref="myAppender"/>
    </logger>
</configuration>
<dependency>
     <groupId>org.slf4j</groupId>
     <artifactId>slf4j-api</artifactId>
     <version>1.7.26</version>
</dependency>
<dependency>
     <groupId>ch.qos.logback</groupId>
     <artifactId>logback-classic</artifactId>
     <version>1.2.3</version>
</dependency>

 

我使用IDEA導入項目后,始終無法調用append方法,起初懷疑是源代碼或配置文件問題,對比同事代碼后無差異;

后來我排除我本地環境干擾,把代碼在新建的項目中運行,依然無法調用,我試着調整依賴的版本,將sl4j-api版本調為1.6.x,結果調用成功,但是又warning

 

 

 之后我恢復sl4j-api到1.7.x也可以調用成功,且warning消失,至此算是解決了輸出問題,雖然最終也不太清楚這個問題的原因,

但是作為一名pragmatic developer,遇到此類的問題時,可以嘗試改變一些固有的做法,或許是解決的問題一條路。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM