сегодня я узнал, как настроить мой log4j.properties войти в разные файлы:log4j аддитивности с Console- и множественным FileAppender
log4j.rootLogger=ALL, ConsoleAppender, FA1, FA2, FA3
#Define which packages use which appenders
log4j.logger.de.package1=ALL, FA1
log4j.logger.de.package2=ALL, FA2
log4j.logger.de.package3=ALL, FA3
#Ensure the logs don't add to each other
log4j.additivity.de.package1=false
log4j.additivity.de.package2=false
log4j.additivity.de.package3=false
#If you want to append the file(not to override when it already exists):
#log4j.appender.FileAppender.Append=true
log4j.appender.ConsoleAppender=org.apache.log4j.ConsoleAppender
log4j.appender.ConsoleAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.ConsoleAppender.layout.ConversionPattern=%d (%F:%L) %-5p %c - %m%n
log4j.appender.FA1=org.apache.log4j.FileAppender
log4j.appender.FA1.Threshold=WARN
log4j.appender.FA1.File=./logs/FA1.log
log4j.appender.FA1.layout=org.apache.log4j.PatternLayout
log4j.appender.FA1.layout.ConversionPattern=%d (%F:%L) %-5p %c - %m%n
log4j.appender.FA2=org.apache.log4j.FileAppender
log4j.appender.FA2.Threshold=WARN
log4j.appender.FA2.File=./logs/FA2.log
log4j.appender.FA2.layout=org.apache.log4j.PatternLayout
log4j.appender.FA2.layout.ConversionPattern=%d (%F:%L) %-5p %c - %m%n
log4j.appender.FA3=org.apache.log4j.FileAppender
log4j.appender.FA3.Threshold=WARN
log4j.appender.FA3.File=./logs/FA3.log
log4j.appender.FA3.layout=org.apache.log4j.PatternLayout
log4j.appender.FA3.layout.ConversionPattern=%d (%F:%L) %-5p %c - %m%n
Как вы можете видеть, я определил аддитивность ложь, но с этим у меня есть проблема , что больше нет консольного выхода.
Если я установил аддитивность на true, все сообщения регистрируются дважды и в каждый файл.
Как я могу это решить? я не хочу двойных записей, и я не хочу, чтобы каждое сообщение в каждом файле журнала, но я хочу иметь все сообщения в консоли.
kinda сложно или проще, чем я думаю?