直接上代码:
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/