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的文件,如下图。里面记录了所有的操作过程等信息。
最新文章
- 文档对象模型(DOM)中的结点属性
- Golang tool:include spider library,image library and some other db library such as mysql,redis,mogodb,hbase,cassandra
- javascript 原生事件综合查询
- Object Pascal 运算符
- 基于SOCK4网络协议的代理服务器端代码示例
- iOS App 百思不得姐
- Tombstone crash
- linux下使用sqlplus使用上下键显示历史命令
- Python Geospatial Development reading note(1)
- Response.Redirect 打开这两种方法的一种新形式
- for和getElementByTagName配合
- 微信退款流程,以及在过程中遇见的错误和解决方式(php 语言)
- vue技术解析二之组件通信
- learning coap protocol
- 脑残式网络编程入门(二):我们在读写Socket时,究竟在读写什么?
- Atitit uke公司简介与基本制度建设草案v11 r66 .docx
- sql里 where和order by一起使用是怎样的顺序
- IntelliJ Idea 跳出括号并且光标移到末尾的快捷键
- django练习题
- 伪元素 :Before 和 :After的学习
热门文章
- Java自学-图形界面 容器
- Windows下的Minio启动命令
- run as -->; Maven clean 可以清除旧的jar包
- 浏览器自动化的一些体会8 HttpWebRequest的几个问题
- Android 在代码中修改TextView的DrawableRight等方向上的图片
- MySQL &#183; 性能优化 &#183; MySQL常见SQL错误用法(转自-阿里云云栖社区)
- Linux的CentOs系统查看CPU个数、核心数、线程数
- layui上传同一张图片第二次时choose没有反应
- 如何以正确的姿势安装Vue的依赖并且启动下载好的项目
- Kubernetes K8S之资源控制器RC、RS、Deployment详解