Я выясняю, что расположение файла log4j.properties зависит от типа проекта Eclipse.
В частности, для Eclipse Dynamic Web Project большинство ответов, которые включают добавление log4j.properties в файл war, на самом деле не добавляют файл свойств в правильное местоположение, особенно для Tomcat / Apache.
Вот некоторые из моих исследований и моего решения этой проблемы (опять же специально для Dynamic Web Project, работающего на Tomcat / Apache 6.0)
Пожалуйста, обратитесь к этой статье, чтобы узнать, как Tomcat будет загружать классы. Это отличается от обычного загрузчика классов для Java. (https://www.mulesoft.com/tcat/tomcat-classpath) Обратите внимание, что он выглядит только в двух местах в файле war, WEB-INF / classes и WEB-INF / lib.
Обратите внимание, что в случае динамического веб-проекта нецелесообразно хранить файл .properties в каталоге build /../ classes, поскольку этот каталог стирается всякий раз, когда вы чистите сборку проекта.
Tomcat не обрабатывает файлы .property в расположении WEB-INF / lib.
Вы не можете сохранить файл log4j.properties в каталоге src, так как Eclipse абстрагирует этот каталог от вашего просмотра.
Единственный способ решить эту проблему - изменить сборку и добавить дополнительный каталог, который в конечном итоге загрузится в каталог WEB-INF / classes в файле war. В частности ....
(1) Щелкните правой кнопкой мыши свой проект в проводнике проектов, выберите «Создать» -> «Папка». Вы можете назвать папку как угодно, но стандартом в этом случае является «ресурсы». Новая папка должна появиться на корневом уровне вашего проекта.
(2) Переместите файл log4j.properties в эту новую папку.
(3) Снова щелкните правой кнопкой мыши по проекту и выберите «Build-Path» -> «Configure Build Path». Выберите вкладку «Источники». Нажмите кнопку «Добавить папку». Найдите и найдите новую папку, созданную на шаге (1) выше. Выберите «ОК».
(4) Вернувшись к представлению Project Explorer в Eclipse, обратите внимание, что папка теперь перемещена в область «Java Resources» (т.е. она больше не находится в корне из-за абстракции представления Eclipse).
(5) Чистая сборка вашего проекта.
(6) Чтобы проверить, что файл .properties теперь существует в WEB-INF / classes в вашем файле war, экспортируйте файл war в удобное место (щелкните правой кнопкой мыши Project -> Export -> War file) и извлеките содержимое , Обратите внимание, что файл log4j.properties теперь появляется в WEB-INF / classes.
(7) Продвиньте свой проект на Tomcat / Apache и обратите внимание, что log4j теперь работает.
Теперь, когда log4j работает, начинайте регистрировать, решайте мировые проблемы, отдыхайте и наслаждайтесь вкусным напитком для взрослых.