Запись в 2 файла журнала с использованием 2 регистраторов дублирует журналы (используя log4j) - PullRequest
0 голосов
/ 29 февраля 2012

Я пытаюсь создать 2 файла журнала, используя log4j, используя эту конфигурацию:

log4j.rootLogger=debug,stdout,logfile
#debug info warn error fatal 

# Set the enterprise logger category to FATAL and its only appender to CONSOLE.
log4j.logger.org.apache=FATAL,logfile

# ConsoleAppender properties
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.Threshold=debug
log4j.appender.stdout.layout.ConversionPattern=%d %5p %c{1}:%L - %m%n
#%-5p [%t]: %m%n

# LogFileAppender properties
log4j.appender.logfile=com.xx.util.SizeRollingFileAppender
log4j.appender.logfile.File=log.log
log4j.appender.logfile.MaxFileSize=50240KB
log4j.appender.logfile.BackupsDirectory=log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %5p %c{1}:%L - %m%n
log4j.appedner.logfile.Threshold=error


# Log1FileAppender properties
log4j.appender.log1=com.xx.util.SizeRollingFileAppender
log4j.appender.log1.File=log1.log
log4j.appender.log1.MaxFileSize=5120KB
log4j.appender.log1.BackupsDirectory=log
log4j.appender.log1.layout=org.apache.log4j.PatternLayout
log4j.appender.log1.layout.ConversionPattern=%d %5p %c{1} :%L - %m%n

(xx для проекта, над которым я работаю) -

И вот онокод Java:

public class TestLog4j {

/**
 * @param args
 */
private static org.apache.log4j.Logger log              = org.apache.log4j.Logger.getLogger(TestLog4j.class);
private static org.apache.log4j.Logger log1= org.apache.log4j.Logger.getLogger("log1");

public static void main(String[] args) {

    // TODO Auto-generated method stub
    org.apache.log4j.PropertyConfigurator.configure("src/com/test/log4j.properties");
    log.error("Error Test Log");
    log1.info("Test Log1");
}

}

Моя проблема заключается в том, что я хочу написать два разных файла, один для журнала и один для журнала 1.С этим кодом я получаю только один файл с обоими журналами в одном файле.

Что я делаю не так?

1 Ответ

0 голосов
/ 29 февраля 2012

Краткий ответ:

Добавьте:

log4j.logger.log1=<yourLogLevel>,log1

к вашим log4j.properties.

ПРИМЕЧАНИЕ:

Каждыйвключенный log-запрос к log1 (log-level> = yourLogLevel) будет идти как к stdout , так и к logfile, если только вы не отключите добавление appender!

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