Log4j Регистрация нескольких файлов - PullRequest
2 голосов
/ 08 декабря 2011

В моем консольном приложении Java я хочу записывать определенные события в файл журнала, а некоторые - в консоль.Это то, что у меня сейчас есть

log4j.rootLogger=error, stdout

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n


log4j.appender.L1=org.apache.log4j.FileAppender
log4j.appender.L1.layout=org.apache.log4j.PatternLayout
log4j.appender.L1.layout.ConversionPattern=%-22d{dd/MMM/yyyy HH:mm:ss} – %m%n
log4j.appender.L1.file=failedtoaddusers.log

В моем Java-приложении я создаю два экземпляра журнала, используя

private static Logger log = Logger.getLogger(ActiveDirectoryManage.class);
private static Logger failedToAddUsersLogger = Logger.getLogger("FailedToAddUsersLogging");

Моя проблема в том, что failedToAddUsersLogger.warn("xyz") также пишет в консольдополнение к файлу журнала failedtoaddusers.log.Я просто хочу, чтобы он записывал в файл журнала, а не в консоль.Как мне это сделать?

1 Ответ

2 голосов
/ 10 декабря 2011

Вам нужно установить аддитивность на «false» (подробнее о аддитивности регистратора в разделе Appenders and Layouts руководства log4j):

log4j.additivity.FailedToAddUsersLogging=false
log4j.logger.FailedToAddUsersLogging = your level, L1

Также убедитесьЕсли у вас есть одна из новых версий log4j, настройка «Аддитивность» не была доступна с самого начала.

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