第一步:导入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的文件,如下图。里面记录了所有的操作过程等信息。

最新文章

  1. 文档对象模型(DOM)中的结点属性
  2. Golang tool:include spider library,image library and some other db library such as mysql,redis,mogodb,hbase,cassandra
  3. javascript 原生事件综合查询
  4. Object Pascal 运算符
  5. 基于SOCK4网络协议的代理服务器端代码示例
  6. iOS App 百思不得姐
  7. Tombstone crash
  8. linux下使用sqlplus使用上下键显示历史命令
  9. Python Geospatial Development reading note(1)
  10. Response.Redirect 打开这两种方法的一种新形式
  11. for和getElementByTagName配合
  12. 微信退款流程,以及在过程中遇见的错误和解决方式(php 语言)
  13. vue技术解析二之组件通信
  14. learning coap protocol
  15. 脑残式网络编程入门(二):我们在读写Socket时,究竟在读写什么?
  16. Atitit uke公司简介与基本制度建设草案v11 r66 .docx
  17. sql里 where和order by一起使用是怎样的顺序
  18. IntelliJ Idea 跳出括号并且光标移到末尾的快捷键
  19. django练习题
  20. 伪元素 :Before 和 :After的学习

热门文章

  1. Java自学-图形界面 容器
  2. Windows下的Minio启动命令
  3. run as --&gt; Maven clean 可以清除旧的jar包
  4. 浏览器自动化的一些体会8 HttpWebRequest的几个问题
  5. Android 在代码中修改TextView的DrawableRight等方向上的图片
  6. MySQL &#183; 性能优化 &#183; MySQL常见SQL错误用法(转自-阿里云云栖社区)
  7. Linux的CentOs系统查看CPU个数、核心数、线程数
  8. layui上传同一张图片第二次时choose没有反应
  9. 如何以正确的姿势安装Vue的依赖并且启动下载好的项目
  10. Kubernetes K8S之资源控制器RC、RS、Deployment详解