Там какой-либо путь состоит в том, чтобы сказать log4j для записи его журнала в файл и в консоль? спасибо там является моими свойствами:
log4j.rootLogger=DEBUG,console,R
log4j.rootLogger=INFO, FILE
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Target=System.out
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.conversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p - %m%n
log4j.appender.FILE=org.apache.log4j.RollingFileAppender
log4j.appender.FILE.File=log4j.log
log4j.appender.FILE.MaxFileSize=512KB
log4j.appender.FILE.MaxBackupIndex=3
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p - %m%n
Ваше определение корневого регистратора немного запутано. См. Документацию log4j .
Это стандартный файл свойств Java, что означает, что строки обрабатываются как пары ключ = значение. Ваша вторая строка log4j.rootLogger
перезаписывает первую, что объясняет, почему вы ничего не видите в приложении console
.
Вам необходимо объединить два ваших определения rootLogger
в одно. Похоже, вы пытаетесь, чтобы сообщения DEBUG
отправлялись в консоль, а сообщения INFO
- в файл. У корневого регистратора может быть только один уровень, поэтому вам нужно изменить свою конфигурацию, чтобы у приложений были соответствующие уровни.
Хотя я не проверил, что это правильно, я предполагаю, что это будет выглядеть примерно так:
log4j.rootLogger=DEBUG,console,file
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.file=org.apache.log4j.RollingFileAppender
Обратите внимание, что у вас также есть ошибка в регистре - у вас строчные буквы консоли в одном месте и заглавные буквы в Другая.