2015-04-07 100 views
0
  • 將所需的jar文件導入到eclipse中的構建路徑中。
  • 進口的SLF4J記錄器和的LoggerFactory包名稱正確
  • 創建一個記錄器實例從 LoggerFactory.getLogger("classname");

下面是logback.xml文件:打印到控制檯但工作正常但使用logback打印到文件

試圖與LOG4,的logback訪問和不過沒有的logback經典,我無法將其打印到文件中。我想你肯定是在正確的位置,並正在檢測您的logback.xml文件過了一個星期,現在沒有運氣

<configuration> 
    <appender name="FILE" class="ch.qos.logback.core.FileAppender"> 
    <!-- Tests run on modern PCs show that buffering related property --> 
    <!-- "ImmediateFlush" has negligible impact and will be ignored. --> 
    <Append>true</Append> 
    <File>log.txt</File> 
    <encoder> 
     <pattern>%d{dd MMM yyyy HH:mm:ss,SSS} %c %p %t %m%n%n</pattern> 
    </encoder> 
    <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> 
     <level>debug</level> 
    </filter> 
    </appender> 
    <appender name="theConsoleAppender" class="ch.qos.logback.core.ConsoleAppender"> 
    <encoder> 
     <pattern>%-4r [%t] %-5p %c %x - %m%n</pattern> 
    </encoder> 
    </appender> 
    <logger name="com.wataniya.Wataniya_WebServiceSkeleton" level="DEBUG"> 
    <appender-ref ref="FILE"/> 
    </logger> 
    <root level="DEBUG"> 
    <appender-ref ref="FILE"/> 
    <appender-ref ref="theConsoleAppender"/> 
    </root> 
</configuration> 
+0

您是否嘗試過在絕對寫入權限的目錄中使用絕對文件名?另外'File'和'Append'不會大寫。 –

+0

是的,我也嘗試過絕對路徑。我是否必須在絕對路徑中跳過斜線(在logback.xml中)?文件和追加應該大寫? – kittu

+0

不應該大寫,而應該在您的代碼示例中。 –

回答

0

解決這一問題?
嘗試故意在配置文件中輸入錯誤,並查看是否在控制檯中收到消息(Logback將自動執行此操作)。

如果您不能看到Logback configuration如何通過或運行您的應用程序,如下所示。

java -Dlogback.configurationFile=/path/to/logback.xml YourMainClass 

讓我們首先討論的是對的logback初始化步驟如下嘗試進行自我配置:

  1. 的logback試圖找到一個文件中的classpath稱爲logback.groovy
  2. 如果找不到此類文件,logback將嘗試在classpath中找到名爲logback-test.xml的文件。
  3. 如果找不到這樣的文件,它會檢查文件logback.xmlclasspath
+0

Logback.xml文件位於src文件夾中 – kittu

+0

嘗試像運行應用程序一樣運行應用程序,直接在運行應用程序時通過它 –

+0

即使我從項目中刪除logback.xml,日誌是否正在打印到控制檯?是否因爲構建路徑中的logback classic和slf4j jar文件? – kittu