是否可以使用属性(如下面的appender中的${project.name})动态记录项目名称?我使用的是log4j.xml配置文件。
如果是,我在哪里可以定义这样的属性?
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="[${project.name}] %d{ISO8601} [%t] %-5p ..%c{3}.%M(%L) - %m%n" />
</layout>
</appender>
通过这样做,我将能够在我的所有项目中使用相同的log4j.xml。
实现这一点的一种方法是使用Maven构建所有项目并使用资源筛选。
(当然Ant也可以做到这一点,可能还有任何其他构建系统,但在Maven中,这是一种众所周知的标准机制)