log4j教程 http://www.yiibai.com/log4j/
本教程工具
IDE为IntelliJ IDEA 2017.2
JDK环境为1.8
maven版本为maven3
Tomcat版本为8.5
一、添加log4j依赖
<!-- Logging -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.6.6</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>1.6.6</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.6.6</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.14</version>
</dependency>
二、创建log4j.xml
在resource目录下创建log4j.xml,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<!-- [控制台STDOUT] -->
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<param name="encoding" value="UTF-8"/>
<param name="target" value="System.out"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-5p %c{2} - %m%n"/>
</layout>
</appender>
<!-- [公共Appender] -->
<appender name="DEFAULT-APPENDER" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="${catalina.base}/logs/schedule.log"/>
<param name="Append" value="true"/>
<param name="encoding" value="UTF-8"/>
<param name="DatePattern" value="'.'yyyy-MM-dd'.log'"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %-5p %c{2} - %m%n"/>
</layout>
</appender>
<!-- [错误日志APPENDER] -->
<appender name="ERROR-APPENDER" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="${catalina.base}/logs/common-error.log"/>
<param name="Append" value="true"/>
<param name="encoding" value="UTF-8"/>
<param name="threshold" value="error"/>
<param name="DatePattern" value="'.'yyyy-MM-dd'.log'"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %-5p %c{2} - %m%n"/>
</layout>
</appender>
<!-- [组件日志APPENDER] -->
<appender name="COMPONENT-APPENDER"
class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="${catalina.base}/logs/logistics-component.log"/>
<param name="Append" value="true"/>
<param name="encoding" value="UTF-8"/>
<param name="DatePattern" value="'.'yyyy-MM-dd'.log'"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %-5p %c{2} - %m%n"/>
</layout>
</appender>
<!-- [组件日志] -->
<logger name="LOGISTICS-COMPONENT">
<level value="debug"/>
<appender-ref ref="COMPONENT-APPENDER"/>
<appender-ref ref="ERROR-APPENDER"/>
</logger>
<!-- Root Logger -->
<root>
<level value="debug"></level>
<appender-ref ref="DEFAULT-APPENDER"/>
<appender-ref ref="ERROR-APPENDER"/>
</root>
</log4j:configuration>
三、修改web.xml
在web.xml文件的<web-app>节点下,添加如下信息:
<!-- log4j 系统日志-->
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>classpath:log4j.xml</param-value>
</context-param>
<!-- 配置log4j.xml监听器 -->
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
<!-- 配置log4j.xml变量 -->
<context-param>
<param-name>rootLevel</param-name>
<param-value>DEBUG</param-value>
</context-param>
<context-param>
<param-name>loggingLevel</param-name>
<param-value>INFO</param-value>
</context-param>
注意点:
Log4j.xml指定错误日志输出的部分:
<param name="File" value="${catalina.base}/logs/common-error.log"/>
Value不要指定工程的相对路径。一般是按上面的方式部署到tomcat目录下logs文件夹下。