Файл log4j2.properties записывает журналы в файл .log, но не в файл .err - PullRequest
1 голос
/ 20 января 2020

Я хочу сгенерировать уровни журнала INFO И ERROR в один файл, а уровень ERROR - в другой файл, используя файл log4j2.properties. Файл log4j2.properties записывается только в один файл. Но когда я использую файл log4j2. xml, он работает как положено. Я просмотрел так много блогов, но не нашел решения. Помогите, пожалуйста. Мой файл .properties :::

 //name=PropertiesConfig
property.filename = logs
appenders = file1,file2

appender.file1.type = File
appender.file1.name = LOGFILE
appender.file1.fileName=/myfolder/${filename}/propertieslogs.log
appender.file1.layout.type=PatternLayout
appender.file1.layout.pattern=[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n

appender.file2.type = File
appender.file2.name = ERRORFILE
appender.file2.fileName=/myfolder/${filename}/errorlog.err
appender.file2.layout.type=PatternLayout
appender.file2.layout.pattern=[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n

loggers = file1,file2
logger.file1.name=com.hello
logger.file1.level = INFO
logger.file1.appenderRefs = file
logger.file1.appenderRef.file.ref = LOGFILE
logger.file1.additivity = false

logger.file2.name=com.hello
logger.file2.level = ERROR
logger.file2.appenderRefs = file
logger.file2.appenderRef.file.ref = ERRORFILE
logger.file2.additivity = false

rootLogger.level = debug

1 Ответ

0 голосов
/ 20 января 2020

У вас не может быть двух регистраторов с одинаковым именем. Вам нужно использовать один регистратор с двумя ссылками appender, причем каждый из них Appender указывает уровни журнала.

logger.file1.name=com.hello
logger.file1.level=info
logger.file1.appenderRefs = file1,file2
logger.file1.appenderRef.file1.ref = LOGFILE
logger.file1.appenderRef.file1.level = INFO
logger.file1.appenderRef.file2.ref = ERRORFILE
logger.file1.appenderRef.file2.level = ERROR
logger.file1.additivity = false;

Кстати - то же самое относится и к log4j2. xml.

...