gpt4 book ai didi

java - 当 Log4j 不应该执行此操作时,它会在控制台上输出

转载 作者:太空宇宙 更新时间:2023-11-04 09:45:22 24 4
gpt4 key购买 nike

我正在 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]] ...

最佳答案

This answerworking example .

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

关于java - 当 Log4j 不应该执行此操作时,它会在控制台上输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55478456/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com