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

标签 java eclipse jar logback

我开发了一个使用 logback 和 slf4j 的应用程序。这是我的 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/ 中的文件。我是不是做错了什么?

最佳答案

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

除此之外,请确保您是通过 Maven 而不是 Eclipse 打包它。

关于java - 我的 Jar 没有创建日志文件,而普通应用程序却创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37590317/

相关文章:

java - 如何强制 Java 调用接受不可为空参数的重载 Kotlin 方法?

android - Eclipse 不会自动切换运行配置

java - Eclipse:如何将当前时间写入文件作为每个构建的一部分?

java - qrgen 和 zxing 库出现 java.lang.NoSuchMethodError 异常

java - 读取 "yyyy-MM-dd' T'HH :mm:ss. SSSSSSZZZZZ 时 java.text.SimpleDateFormat 的错误输出”

java - 在java jTable中显示lucene搜索结果

java - 在我的 Java 文件 (Eclipse) 中引用一个 git 存储库

java - 运行 Jar 文件时出现问题

javascript - phonegap 的 childBrowser.jar 插件在 : settings. setPluginState(true) 中抛出错误;

java - 关于在 TableXYDataset 中添加系列