Log4j2+Spring+Maven

      直接上代码:

      pom.xml配置

			<dependency>
				<groupId>com.lmax</groupId>
				<artifactId>disruptor</artifactId>
				<version>3.3.2</version>
			</dependency>
			<dependency>
				<groupId>org.apache.logging.log4j</groupId>
				<artifactId>log4j-api</artifactId>
				<version>${log4j2.vsersion}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.logging.log4j</groupId>
				<artifactId>log4j-core</artifactId>
				<version>${log4j2.vsersion}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.logging.log4j</groupId>
				<artifactId>log4j-jcl</artifactId>
				<version>${log4j2.vsersion}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.logging.log4j</groupId>
				<artifactId>log4j-web</artifactId>
				<version>${log4j2.vsersion}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.logging.log4j</groupId>
				<artifactId>log4j-1.2-api</artifactId>
				<version>${log4j2.vsersion}</version>
				<type>jar</type>
			</dependency>
			<dependency>
				<groupId>org.apache.logging.log4j</groupId>
				<artifactId>log4j-slf4j-impl</artifactId>
				<version>${log4j2.vsersion}</version>
			</dependency>
			<dependency>
				<groupId>org.bgee.log4jdbc-log4j2</groupId>
				<artifactId>log4jdbc-log4j2-jdbc4</artifactId>
				<version>1.16</version>
			</dependency>

		
                      <log4j2.vsersion>2.3</log4j2.vsersion>

   disruptor日志异步写入,log4j-api,log4j-core必选的,log4j-jcl对Spring的支持,网络应用添加log4j-web,例如和SpringMVC集成

 

 log4j2.xml配置

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="warn" name="webclient"
	packages="">
	<Appenders>
		<RollingFile name="RollingFile" fileName="logs/web.log"
			filePattern="logs/$${date:yyyy-MM}/web-%d{MM-dd-yyyy}-%i.log">
			<PatternLayout>
				<Pattern>%d [%p] %c %m%n</Pattern>
			</PatternLayout>
			<Policies>
				<TimeBasedTriggeringPolicy />
				<SizeBasedTriggeringPolicy size="50 MB" />
			</Policies>
		</RollingFile>
		<Console name="Console" target="SYSTEM_OUT">  <!-- 将日志信息从控制台输出 -->
			<PatternLayout pattern="%d [%p] %c %m%n" />
		</Console>
	</Appenders>
	<Loggers>
		<asyncRoot level="ERROR">
			<appender-ref ref="RollingFile" />
			<appender-ref ref="Console" />
		</asyncRoot>
	</Loggers>
</Configuration>

   其中asyncRoot作为日志异步写入。

   如果有针对部分不同处理添加

<logger name="cn.web.admin" level="trace" additivity="false">
            <appender-ref ref="Console"/>
    </logger>

   web.xm 
	<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>
  必须有log4j-web的依赖
 更强的配置还是看官网文档吧,比较全
http://logging.apache.org/log4j/2.x/
 

猜你喜欢

转载自waming5.iteye.com/blog/2243496