Spring 5.0.2中的Log4jConfigurer

时间:2018-01-05 05:12:50

标签: java spring log4j slf4j

我使用的是Spring 4.X.X并使用以下设置来配置Log4j。现在我将它升级到Spring 5.0.2,其中Log4jConfigurer类已被删除。我怎么能在Spring 5.0.2中做到这一点?

<bean
    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:log4j.properties</value>
        </list>
    </property>
</bean>

1 个答案:

答案 0 :(得分:4)

非默认Log4j初始化需要Log4JConfigurer,例如如果使用自定义配置文件名称/位置,但您的配置文件位于默认位置:classpath:log4j.properties,那么您只需删除Log4jConfigurer声明,Spring就会自动发现您的log4j.properties。< / p>

这里有一个可能的警告; Spring 5使用Log4j v2(遵循Apache的log4j 1.x的EOL声明),所以只要你使用Log4j v2,那么Spring 5会自动检测它和你的log4j.properties文件而不需要声明一个Log4JConfigurer。如果您当前没有使用Log4j v2,那么我认为您需要升级,因为Spring 5不支持使用Log4j v1.x.