`

Spring4.3.X集成log4j2

阅读更多
1.新建log4j2.xml,我是放在WEB-INF/config下

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="OFF" monitorInterval="60">
    <properties>
        <property name="LOG_HOME">/logs</property>
        <property name="FILE_NAME">log</property>
    </properties>
    <Appenders>
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
        </Console>
        <RollingRandomAccessFile name="RollingFile" fileName="${LOG_HOME}/${FILE_NAME}.log" 
                                    filePattern="${LOG_HOME}/$${date:yyyy-MM}/${FILE_NAME}-%d{yyyy-MM-dd}-%i.log.gz"
                                    immediateFlush="true">
            <PatternLayout charset="UTF-8" pattern="%date{yyyy-MM-dd HH:mm:ss.SSS} %level [%thread][%file:%line] - %msg%n"/>
            <Policies>
                <TimeBasedTriggeringPolicy />
                <SizeBasedTriggeringPolicy size="100 MB"/>
            </Policies>
            <DefaultRolloverStrategy max="20"/>

        <Async name="RollingFileAsyncAppender">
            <AppenderRef ref="RollingFile"/>
        </Async>
        </RollingRandomAccessFile>
    </Appenders>
    <Loggers>
        <Root level="INFO">
            <AppenderRef ref="Console" />
            <AppenderRef ref="RollingFileAsyncAppender" />
        </Root>
    </Loggers>
</Configuration>

2.web.xml文件
    <context-param>
        <param-name>log4jConfiguration</param-name>
        <param-value>/WEB-INF/config/log4j2.xml</param-value>
    </context-param>
	<listener>
		<listener-class>org.apache.logging.log4j.web.Log4jServletContextListener</listener-class>
	</listener>
	<filter>
		<filter-name>log4jServletFilter</filter-name>
		<filter-class>org.apache.logging.log4j.web.Log4jServletFilter</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>log4jServletFilter</filter-name>
		<url-pattern>/*</url-pattern>
		<dispatcher>REQUEST</dispatcher>
		<dispatcher>FORWARD</dispatcher>
		<dispatcher>INCLUDE</dispatcher>
		<dispatcher>ERROR</dispatcher>
	</filter-mapping>

3.pom.xml文件
			<dependency>
				<groupId>org.apache.logging.log4j</groupId>
				<artifactId>log4j-core</artifactId>
				<version>2.8.2</version>
			</dependency>
			<dependency>
				<groupId>org.apache.logging.log4j</groupId>
				<artifactId>log4j-api</artifactId>
				<version>2.8.2</version>
			</dependency>
			<dependency>
			    <groupId>org.apache.logging.log4j</groupId>
			    <artifactId>log4j-web</artifactId>
			    <version>2.8.2</version>
			</dependency>
			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-api</artifactId>
				<version>1.7.25</version>
			</dependency>
			<dependency>
			    <groupId>org.apache.logging.log4j</groupId>
			    <artifactId>log4j-slf4j-impl</artifactId>
			    <version>2.8.2</version>
			</dependency>

4.log4j2  配置slf4j后,将项目中的获取logger的方式修改一下即可
				 Logger logger = LogManager.getLogger(UserController.class); 改为
				 Logger logger = LoggerFactory.getLogger(UserController.class);
即可
对于log4j2.xml文件里面的解释,请参考:https://www.cnblogs.com/kyleinjava/p/9590380.html
https://www.cnblogs.com/chenloveslife/p/9538388.html
  • 大小: 14.5 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics