Я не могу создать независимый org.apache.log4j.Logger - PullRequest
0 голосов
/ 11 октября 2018

У меня есть класс Java веб-приложения, работающий с Wildfly по имени Sincronizador.Я создал специальный файл org.apache.log4j.Logger в Sincronizador.java, но logger.log(...) также поместил информацию в Wildfly server.log.Я хотел бы регистрировать информацию только в этом логгере

Logger logger = Logger.getLogger(SASComm.class);

logger.removeAllAppenders();

RollingFileAppender rollingFileAppender = new RollingFileAppender();
rollingFileAppender.setLayout(new PatternLayout("[%d{dd-MM-yyyy HH:mm:ss SSS}][%p] %m%n"));
rollingFileAppender.setMaxBackupIndex(7);
rollingFileAppender.setMaxFileSize("50MB");
rollingFileAppender.setName("Sinc");

rollingFileAppender.setFile(getLogFile());
rollingFileAppender.activateOptions();

logger.addAppender(rollingFileAppender);

1 Ответ

0 голосов
/ 12 октября 2018

Вам просто нужно установить флаг additivity на false на вашем регистраторе, чтобы он не наследовал от родительского регистратора:

logger.setAdditivity(false);

Эта строка logger.removeAllAppenders(); удалит всеназначенные дополнения из этого логгера, но наследство все еще там (по крайней мере от rootLogger), которое также необходимо удалить.

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