Создайте private static final Logger
для каждого класса. Например, напишите следующую строку в вашем классе сервлетов:
private static final Logger logger = Logger.getLogger(YourServletClassName.class);
и следующая строка в вашем классе фильтров:
private static final Logger logger = Logger.getLogger(YourFilterClassName.class);
Обратите внимание на различные значения, передаваемые в качестве параметров в методе getLogger()
. Регистратор должен быть private static
, чтобы его могли использовать несколько экземпляров одного класса. Таким образом, вы можете контролировать вывод из вашего приложения по классам. Например, если вы хотите видеть выходные данные из всех экземпляров только YourServletClassName
(хотя обычно создается только один экземпляр класса Servlet, который повторно используется для обработки каждого запроса), вы можете написать следующие строки в вашем log4j.properties:
log4j.logger.your.package.YourServletClassName=TRACE
log4j.logger.your.package.YourFilterClassName=OFF
Таким образом, журналы с YourServletClassName
будут показаны только и ничего не будет показано с YourFilterClassName
. Надеюсь, это поможет.