Параметризованный appender в log4j.xml - PullRequest
0 голосов
/ 24 сентября 2018

У меня есть несколько приложений в log4j.xml, единственной разницей которых является путь к файлу, как показано ниже:

<appender name="Thread_1" class="org.apache.log4j.DailyRollingFileAppender">
    <param name="file"              value="Log/Thread_1.log" />
    <param name="DatePattern"       value="'.'yyyy-MM-dd-HH" />
    <layout class="org.apache.log4j.PatternLayout">
    <param name="ConversionPattern" value="[%d{HH:mm:ss}][%-5p][%-20F:%3L] %m%n" />
    </layout>
</appender>

<appender name="Thread_2" class="org.apache.log4j.DailyRollingFileAppender">
    <param name="file"              value="Log/Thread_2.log" />
    <param name="DatePattern"       value="'.'yyyy-MM-dd-HH" />
    <layout class="org.apache.log4j.PatternLayout">
    <param name="ConversionPattern" value="[%d{HH:mm:ss}][%-5p][%-20F:%3L] %m%n" />
    </layout>
</appender>

<appender name="Thread_3" class="org.apache.log4j.DailyRollingFileAppender">
    <param name="file"              value="Log/Thread_3.log" />
    <param name="DatePattern"       value="'.'yyyy-MM-dd-HH" />
    <layout class="org.apache.log4j.PatternLayout">
    <param name="ConversionPattern" value="[%d{HH:mm:ss}][%-5p][%-20F:%3L] %m%n" />
    </layout>
</appender>

<logger name="com.testapp.task.Thread_1" additivity="false">
    <level value="INFO" />
    <appender-ref ref="Thread_1" />
</logger>

<logger name="com.testapp.task.Thread_2" additivity="false">
    <level value="INFO" />
    <appender-ref ref="Thread_2" />
</logger>

<logger name="com.testapp.task.Thread_3" additivity="false">
    <level value="INFO" />
    <appender-ref ref="Thread_3" />
</logger>

Итак, я хочу знать, есть ли способ записи только одного приложения с путем к файлу в качестве параметракак (после псевдокода)

<logger name="com.testapp.task.Thread_3" additivity="false">
    <level value="INFO" />
    <appender-ref ref="Thread_common" file="Log/Thread_1.log" />
</logger>

С уважением, Брайан

...