Log4j:如何为多个appender定义公共布局和ConversionPattern

我的log4j配置中有多个appender,我想知道是否可以为所有这些配置一次定义布局和转换模式 。 即我有

 log4j.appender.CA=org.apache.log4j.ConsoleAppender log4j.appender.CA.layout=org.apache.log4j.PatternLayout log4j.appender.CA.layout.ConversionPattern=%d{yyyy/MM/dd HH:mm:ss} %-5p %c %x - %m%n log4j.appender.FA=org.apache.log4j.RollingFileAppender log4j.appender.FA.MaxBackupIndex=0 log4j.appender.FA.MaxFileSize=100Mb log4j.appender.FA.File=log/my.log log4j.appender.FA.layout=org.apache.log4j.PatternLayout log4j.appender.FA.layout.ConversionPattern=%d{yyyy/MM/dd HH:mm:ss} %-5p %c %x - %m%n 

我想知道是否以及如何定义每个appender配置的最后两行只有一次。

在log4j中更深入地检查配置解析的实现我已经意识到它只是简单的解析并且没有实现类似function的引用。 所以,重复:)

不确定它是否正是您想要的,但使用以下内容您可以在一个位置定义布局:

 PATTERN = %-4r [%t] %-5p %c %x - %m%n log4j.rootLogger=info, A log4j.logger.FILE = info, FILE log4j.appender.A=org.apache.log4j.ConsoleAppender log4j.appender.A.layout=org.apache.log4j.PatternLayout log4j.appender.A.layout.ConversionPattern=${PATTERN} log4j.appender.FILE=org.apache.log4j.RollingFileAppender log4j.appender.FILE.File=log.log log4j.appender.FILE.layout=org.apache.log4j.PatternLayout log4j.appender.FILE.layout.ConversionPattern=${PATTERN} 

问候,