如何使用Log4jConfigurer在LOG4J2上通过SLF4J配置Spring 3?

时间:2018-07-11 03:05:38

标签: spring logging slf4j log4j2 spring-3

我正在尝试将我的应用程序配置为使用SLF4J和log4j2进行日志记录。 该应用程序使用Spring3。控制台记录器正在运行,但是滚动附加器似乎都没有记录任何东西。

以下是配置应用程序日志记录的方式:

  • pom.xml

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-aop</artifactId>
        <version>3.2.18.RELEASE</version>
        <type>jar</type>
        <scope>compile</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>3.2.18.RELEASE</version>
        <type>jar</type>
        <scope>compile</scope>
        <exclusions>
            <exclusion>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-api</artifactId>
        <version>2.11.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>2.11.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-slf4j-impl</artifactId>
        <version>2.11.0</version>
    </dependency>
    <dependency>
    
  • web.xml

    <listener>
           <listener-class>
               org.springframework.web.util.Log4jConfigListener
           </listener-class>
    </listener>
    
  • Application.xml

log4j属性:

    log4j.rootLogger=DEBUG, CONSOLE

log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=[%d{ISO8601} EST] %X{sessionId} %X{requestTokenId} %X{clientIP} %p %m%n

log4j.appender.TEST_APPENDER=org.apache.log4j.RollingFileAppender
log4j.appender.TEST_APPENDER.File=a.log
log4j.appender.TEST_APPENDER.MaxFileSize=10MB
log4j.appender.TEST_APPENDER.layout=org.apache.log4j.PatternLayout
log4j.appender.TEST_APPENDER.layout.ConversionPattern=[%d{ISO8601} EST] %X{sessionId} %X{requestTokenId} %X{clientIP} %p %m%n
log4j.appender.TEST_APPENDER.MaxBackupIndex=8
log4j.appender.TEST_APPENDER.Threshold=DEBUG

log4j.logger.com.abhishek=DEBUG, CONSOLE, TEST_APPENDER

应用程序xml:

<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>${config.dir}/log4j.properties</value>
            </list>
        </property>
    </bean>

登录代码:

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private static final Logger LOGGER = LoggerFactory.getLogger(Test.class);
LOGGER.debug("Testing...");

0 个答案:

没有答案