我试图覆盖配置,但spring仍然从jar中获取log4j配置文件。我的项目类路径是/ src。当我将自己的log4j.properties文件放在src文件夹中时,spring可以加载我的log4j属性文件,但是当我尝试从资源文件夹中加载log4j属性文件时,spring不会加载我的log4j文件。下面是我用来从另一个文件夹加载我的log4j属性文件的代码。
<context-param>
<param-name>spring.profiles.active</param-name>
<param-value>qa</param-value>
</context-param>
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>classpath:main/resources/log4j-dev.properties</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
有,spring没有加载我的log4j-dev.properties文件。我也尝试过使用@PropertySource,但面临相同的问题。
@Configuration
@PropertySource(value = {"/main/resources/application-qa.properties","/main/resources/log4j-dev.properties"})
@Profile("qa")
public class QaProfileConfig {
}
Jar文件中的log4j配置
<bean id="log4jInitialization"
class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
<property name="targetClass"
value="org.springframework.util.Log4jConfigurer" />
<property name="targetMethod" value="initLogging" />
<property name="arguments">
<list>
<value>classpath:#{systemProperties['config.env'].toLowerCase()}/log4j.properties</value>
</list>
</property>
</bean>
这是config.env = test,因此它总是从test文件夹加载属性文件。请帮忙,我如何通过自己的内部log4j覆盖jar log4j配置。