以前敲代码都是在使用System.out.println(......);感觉太L了。学习了一下log4j1,并且进行了一个简单的项目测试,在此记录下来,以免忘记。同时也希望给刚刚入门的小伙伴提供一些经验。
首先:
新建JAVA WEB项目
创建一个工具类和一个servlet,servlet中使用到工具类。如下图:
说明:我的工具类是plus.java,我的servlet是TestLog4j.java
下面是plus.java和TestLog4j.java的源码
【plus.java】
package com.zjt;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class plus extends HttpServlet {
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println(TestLog4j.Hello());
}
}
【TestLog4j.java】
package com.zjt;
import org.apache.log4j.Logger;
public class TestLog4j {
public static Logger logger = Logger.getLogger(TestLog4j.class);
public static int Hello() {
// TODO Auto-generated method stub
logger.debug("debug ");
logger.fatal("fatal ");
logger.info("asas");
int i = 1+1 ;
logger.error("error ");
return i ;
}
}
以上是javaweb的最基础的东西,在此就不再赘述。
相信大家已经注意到了TestLog4j.java中的logger了,没错,这就是打印日志的关键对象。
接下来我们讲log4j的配置,只有配置好了,程序才不会报错。
配置开始:
一:
下载jar包并且导入lib下,现在log4j2已结出来了,使用方式和1有着较大不同,我这里使用的是1,我使用的是 直接google jar 的名称即可下载。
二:
在src根目录下创建配置文件,如图。配置文件内容为:
###设置###
log4j.rootLogger = debug , console , I , D , E , F
### 输出信息到控制抬 ###
log4j.appender.console = org.apache.log4j.ConsoleAppender
log4j.appender.console.Target = System.out
log4j.appender.console.layout = org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} Console:%m - %l %n
### 输出DEBUG 级别以上的日志到=E://logs/error.log ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = E://logs/debug.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = DEBUG
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m - %l %n
### 输出ERROR 级别以上的日志到=E://logs/error.log ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File =E\://logs/error.log
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m - %l %n
### 输出INFO 级别以上的日志到=E://logs/info.log ###
log4j.appender.I = org.apache.log4j.DailyRollingFileAppender
log4j.appender.I.File =E\://logs/info.log
log4j.appender.I.Append = true
log4j.appender.I.Threshold = INFO
log4j.appender.I.layout = org.apache.log4j.PatternLayout
log4j.appender.I.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m - %l %n
### 输出FATAL 级别以上的日志到=E://logs/fatal.log ###
log4j.appender.F = org.apache.log4j.DailyRollingFileAppender
log4j.appender.F.File =E\://logs/fatal.log
log4j.appender.F.Append = true
log4j.appender.F.Threshold = FATAL
log4j.appender.F.layout = org.apache.log4j.PatternLayout
log4j.appender.F.layout.ConversionPattern =%-d{yyyy-MM-dd HH\:mm\:ss} [ %t\:%r ] - [ %p ] %m - %l %n
至此,运行项目。在浏览器地址栏输入:http://127.0.0.1:8080/Log4jTest/plus,可以看到控制台打印如下信息:
前往E盘,会发现多了一个logs文件夹,下面有四个日志文件(如下图):