Log4j выводит на консоль, когда он не должен этого делать - PullRequest
1 голос
/ 02 апреля 2019

Я пишу Java-приложение на IntelliJ и использую 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>

В соответствии с другими руководствами по переполнению стека, это должно быть сделано.Но когда я запускаю флягу: 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]] ...

1 Ответ

0 голосов
/ 02 апреля 2019

Этот ответ содержит рабочий пример .

Если вы удалите stdout, из строки log4j.rootLogger=INFO, stdout, file в файле HelloWithDependencies\resources\log4j.properties и перестроите артефакт .jar, он не будет выводить консоль, запись будет идти только в файл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...