我的Jar没有创建日志文件而普通应用程序没有

时间:2016-06-02 11:16:44

标签: java eclipse jar logback

我开发了一个使用slf4j的logback的应用程序。这是我的logback.xml:

<?xml version="1.0" encoding="UTF-8"?>

<configuration>

   <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> 
   <encoder>
      <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %msg%n</pattern>
    </encoder>
  </appender>
  <appender name="FILE" class="ch.qos.logback.core.FileAppender">
    <file>/tmp/alerttest.log</file>
    <!-- encoders are assigned the type
         ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
    <encoder>
      <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %msg%n</pattern>
    </encoder>
  </appender>


  <!-- Strictly speaking, the level attribute is not necessary since -->
  <!-- the level of the root level is set to DEBUG by default.       -->
  <root level="DEBUG">          
    <appender-ref ref="FILE" />
    <appender-ref ref="STDOUT" />

  </root>  

</configuration>

所以它将日志写入/tmp/alerttest.log。当我在eclipse中运行它时,它会运行并创建一个日志文件并将日志写入其中。但是现在我创建了一个名为alerttesting.jar.的项目的可执行Jar文件。当我使用java -jar alerttesting.jar运行它时,它运行成功,但没有在/tmp/中创建文件。有什么我做错了吗?

1 个答案:

答案 0 :(得分:1)

logback.xml应该在你的类路径中或使用“-Dlogback.configurationFile = / path / to / config.xml”

除此之外,请确保您通过maven包装它而不是eclipse。