【问题标题】:Log4j outputs on console when it should not do itLog4j 在不应执行时在控制台上输出
【发布时间】:2019-04-02 15:29:53
【问题描述】:

我正在用 IntelliJ 编写 Java 应用程序,并且正在使用 log4j。我禁用了 xml 文件的控制台输出,但是当我运行 jar(不是 java,JAR)时它一直在输出。我使用这个存储库进行一些实验:https://github.com/optimaize/language-detector

我已经尝试添加log4j.properties和log4j.xml的不同配置,但是一直输出控制台信息。这是我的 log4j.xml 文件,位于:src/main/resources/log4j.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration debug="false" xmlns:log4j='http://jakarta.apache.org/log4j/'>

<appender name="file" class="org.apache.log4j.RollingFileAppender">
  <param name="append" value="false" />
  <param name="maxFileSize" value="10MB" />
  <param name="maxBackupIndex" value="10" />
  <param name="file" value="C:/logs/myStruts1App.log" />
</appender>

<root>

 <level value="INFO" />
    <appender-ref ref="file" />
</root>

</log4j:configuration>

根据此处有关堆栈溢出的其他指南,这应该可以。但是当我运行 jar 时:java -jar MyJar.jar 它输出

17:20:41.017 [main] DEBUG c.o.langdetect.LanguageDetectorImpl - ==> [DetectedLanguage[bn:0.9999940935958097]]
17:20:41.019 [main] DEBUG c.o.langdetect.LanguageDetectorImpl - ==> [DetectedLanguage[bn:0.9999940935958097]]
17:20:41.020 [main] DEBUG c.o.langdetect.LanguageDetectorImpl - ==> [DetectedLanguage[en:0.9999940935958097]]
17:20:41.020 [main] DEBUG c.o.langdetect.LanguageDetectorImpl - ==> [DetectedLanguage[fr:0.9999940935958097]] ...

【问题讨论】:

    标签: java intellij-idea log4j


    【解决方案1】:

    This answer 具有working example

    如果您从log4j.rootLogger=INFO, stdout, file 文件中的log4j.rootLogger=INFO, stdout, file 行中删除stdout, 并重建.jar 工件,它将不会产生任何控制台输出,日志将仅进入文件。

    【讨论】:

    • 这是我的 log4j.properties,它仍然是控制台输出: # 使用 appender 文件定义根记录器 log4j.rootLogger = info, FILE # 定义文件 appender log4j.appender.FILE=org.apache。 log4j.FileAppender log4j.appender.FILE.File=${log}/log.out # 定义文件 appender 的布局 log4j.appender.FILE.layout=org.apache.log4j.PatternLayout log4j.appender.FILE.layout.conversionPattern =%m%n
    • @Mazzespazze 请下载示例并查看项目是如何配置的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多