Java Web项目实现写日志功能
第一步:导入log4j-1.2.16的jar包
第二步:在servlet包里编写写日志的servlet,代码如下:
public class InitServlet extends HttpServlet {
@Override
public void init() throws ServletException {
String log4j = getInitParameter("lwl");
log4j = getServletContext().getRealPath("/")+log4j;
System.out.println("log4j:"+log4j);
PropertyConfigurator.configure(log4j);
}
}
第三步:在web\web.xml文件中配置上面的servlet,添加如下代码:(注意:在web-app标签里写)
<servlet>
<servlet-name>lwl</servlet-name>
<servlet-class>lwl.youweb2.servlet.InitServlet</servlet-class>
<init-param>
<!--绑定名称+绑定的值-->
<param-name>lwl</param-name>
<param-value>WEB-INF\log4j.properties</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
第四步:在Web\WEB-INF目录下新建一个log4j.properties文件,主要是配置路径,代码如下:
#log level DEBUG/INFO/WERN/ERROR/FATAL
log4j.rootLogger=DEBUG,A1,A2
# console
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %l %m%n
# file
log4j.appender.A2=org.apache.log4j.FileAppender
log4j.appender.A2.File=d:/lwl.log
log4j.appender.A2.Append=true
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %l %m%n
第五步:想要给哪个类的操作写入日志,就在哪个类的第一行写上:
Logger log = Logger.getLogger(LoginServlet.class);
(注意:括号里的LoginServlet就是本类的类名)
然后此页面的所System.out.prinln方法都可以使用:log.debug(Op);在控制台输出
最后:如果一切没有问题,那么在d盘的根目录就会有一个名为/lwl.log的文件,如下图。里面记录了所有的操作过程等信息。