У меня есть файл log4j.properties
, где я должен определить ~ 12 разных приложений. Фактически, все эти приставки аналогичны, за исключением имени и атрибута File
. у меня есть что-то вроде этого:Как объединить свойства appenders в файле log4j.properties?
log4j.logger.FOO=DEBUG, fileFOO
log4j.appender.fileFOO=org.apache.log4j.RollingFileAppender
log4j.appender.fileFOO.File=/some/path/file-FOO.log
log4j.appender.fileFOO.MaxFileSize=5MB
log4j.appender.fileFOO.MaxBackupIndex=20
log4j.appender.fileFOO.layout=org.apache.log4j.PatternLayout
log4j.appender.fileFOO.layout.ConversionPattern=%d %-5p ~ %m%n
log4j.logger.BAR=DEBUG, fileBAR
log4j.appender.fileBAR=org.apache.log4j.RollingFileAppender
log4j.appender.fileBAR.File=/some/path/file-BAR.log
log4j.appender.fileBAR.MaxFileSize=5MB
log4j.appender.fileBAR.MaxBackupIndex=20
log4j.appender.fileBAR.layout=org.apache.log4j.PatternLayout
log4j.appender.fileBAR.layout.ConversionPattern=%d %-5p ~ %m%n
Как вы можете видеть, все линии являются идентичными, за исключением log4j.logger.X
и log4j.appender.fileX.File
Есть ли способ, чтобы определить значения по умолчанию для других атрибутов (MaxFileSize
, MaxBackupIndex
, layout
и т.д. .) добавок, что-то вроде «наследования» appender?
Благодаря
Спасибо за ваш ответ, это было бы мое предпочтительное решение. Тем не менее, я использую Play Framework v1, и кажется, что у меня не может быть собственный класс, загруженный log4j во время запуска (из-за ошибки: https://bugs.launchpad.net/play/+bug/511955) и я не хочу создавать JAR-библиотеку только для этого. Спасибо, в любом случае :) – romaintaz