2015-12-17 64 views
0

我試圖將進程的日誌保存到文件。這在我在NetBeans中運行類時正常工作,但在導出JAR文件之後,進程不會選擇logback.xml。Logback不使用配置文件

該jar文件與logback.xml路徑相同。

使用命令行文件:

java -Dlogback.configurationFile=logback.xml test.jar 

設置類路徑:

java =cp "./" -jar test.jar 

這是配置文件:

我用我已經在這裏找到了所有的例子試圖
<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 

    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> 
     <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> 
      <!--<Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} %M:%L- %msg%n</Pattern> --> 
      <Pattern>%d{HH:mm:ss.SSS} %-5level %logger{36} %M:%L - %msg%n 
      </Pattern> 
      <!--<Pattern>%d{dd/MM/yyyy HH:mm:ss.SSS} [%thread] %-5level %C{0}:%L - 
       %msg%n</Pattern> --> 
     </encoder> 
    </appender> 



    <appender name="FILE" 
     class="ch.qos.logback.core.rolling.RollingFileAppender"> 
     <file>test.log</file> 
     <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 
      <!-- daily rollover --> 
      <fileNamePattern>test.%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> --> 
      <pattern>%d{dd/MM/yyyy HH:mm:ss.SSS} [%thread] %-5level %C{0}:%L - 
       %msg%n</pattern> 
     </encoder> 
    </appender> 

    <root level="DEBUG"> 
     <appender-ref ref="FILE" /> 
     <appender-ref ref="STDOUT" /> 
    </root> 
</configuration> 

請幫忙!由於

+0

爲什麼配置文件不在jar裏面? – Kayaman

+0

我不知道。應該在那裏?無論如何..我已經嘗試在JAR文件中添加xml,但它仍然使用默認配置, –

+0

您似乎缺少配置中的<'標記,還是將它們排除在外? – Kayaman

回答

0

我發現這個問題:

我的logback *罐子和SLF4J-API的簡單1.7.12.jar在我的類路徑。所以它使用簡單而不是logback。

我刪除簡單,現在作品完美。

謝謝!