Это первое место, которое я обнаружил, когда пытался выяснить, куда должен идти мой файл logging.properties во время тестирования.
TL; DR : src/test/resources
Развертывание в Tomcat
При запуске в качестве веб-приложения, как указывает этот комментарий , мне не нужно развертывать файл logging.properties в src/main/resources
(хотя это, вероятно, решило бы мою непосредственную проблему). Мой контейнер уже есть. Для Tomcat это местоположение $CATALINA_HOME/conf/logging.properties
. Если вы запускаете Tomcat из Eclipse, вы можете установить это в конфигурации запуска, как объяснено здесь .
В этом ответе говорится о настройке различных свойств ведения журнала для приложения, что и делает помещение файла в src/main/resources
.
Этот раздел является ответом на вопрос автора. В остальном это ответ на мою похожую, но другую проблему.
Отладочные тесты
Реальная проблема, с которой я столкнулся, заключалась в том, что мой java.util.logging
перестал отображать имя класса и имя метода после того, как я добавил jar-файл, использующий SLF4J, в свой проект и пытался отлаживать свои модульные тесты. Мне пришлось добавить org.slf4j:slf4j-jdk14
к моему POM в предоставленном объеме, чтобы мои тесты вообще запускались. Но тогда у них не было имен классов и методов. Конфигурирование файла logging.properties для соответствия файлу для Tomcat, но с другими обработчиками исправлено, что после того, как я добавил конфигурацию Surefire :
<plugins>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<systemProperties>
<property>
<name>java.util.logging.config.file</name>
<value>src/test/resources/logging.properties</value>
</property>
<property>
<name>java.util.logging.manager</name>
<value>org.apache.juli.ClassLoaderLogManager</value>
</property>
</systemProperties>
</configuration>
</plugin>
</plugins>
И мои журналы снова показывали всю информацию даже при запуске тестов из Maven.
Резюме
Если вы хотите настроить ведение журнала вашего обычного приложения, тогда src/main/resources
может быть правильным местом. Но я хотел изменить протоколирование моих тестов, поэтому вместо него я использовал src/test/resources
. Поскольку конфигурация запуска Tomcat не работает при типовых модульных тестах, мне пришлось добавить некоторую конфигурацию в Surefire, чтобы служить той же цели. В logging.properties вне Tomcat не используются никакие jar-файлы Catalina, поэтому я переключил его на использование других обработчиков.