是否可以一次定义logback附加程序,然后将其与重写参数一起用于多个spring配置文件?
例如:
<appender name="FILE_APPENDER"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_FILE}.log</file>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<Pattern>
%d{yyyy-MM-dd HH:mm:ss} - %logger: %msg%n
</Pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>/old/${LOG_FILE}.log
</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>10M</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
</appender>
我想将此配置文件用于配置文件production
和development
,每个记录器的LOG_FILE
变量中的值都不同。对于LoggerNameA
的实例,我需要路径/tmp/logs/A
,对于LoggerNameB
路径,/tmp/logs/B
<springProfile name="development">
<!-- here I need set LOG_FILE to for /tmp/logs/A -->
<logger name="LoggerNameA" level="info" additivity="true">
<appender-ref ref="FILE_APPENDER" />
</logger>
<!-- here I need set LOG_FILE to for /tmp/logs/B -->
<logger name="LoggerNameB" level="info" additivity="true">
<appender-ref ref="FILE_APPENDER" />
</logger>
</springProfile>
有可能吗?谢谢。