JSP+Servlet培训班作业管理系统[23] -番外篇之Java Web日志
2017-03-09 22:22
746 查看
本篇使用java自带的java.util.logging处理日志,特点是简单快捷。
首先理解四个类:
了解这4个类之后,我们写一个异常日志处理类:
该类将日志处理逻辑封装好了,只需要调用ExceptionLogger.logInfo便可轻易记录日志。
猫哥想把异常信息都记录到日志里面,所以修改MyException类如下:
好的,测试下,登录时输错密码后点击登录,在D盘下日志文件中发现:
OVER,这个日志系统非常简单,但是也容易扩展。可以分别使用多个日志类,分别对应不同的文件、级别。推荐的做法是使用两个,一个记录登录用户的行为,一个记录系统运行的异常。
首先理解四个类:
//Logger类是日志记录器 import java.util.logging.Logger; //FileHandler类帮助Logger类处理文件 import java.util.logging.FileHandler; //LogRecord类帮助Logger类处理日志中消息级别和内容 import java.util.logging.LogRecord; //SimpleFormatter处理FileHandler保存格式 import java.util.logging.SimpleFormatter;
了解这4个类之后,我们写一个异常日志处理类:
package util; import java.io.IOException; import java.util.logging.FileHandler; import java.util.logging.Level; import java.util.logging.LogRecord; import java.util.logging.Logger; import java.util.logging.SimpleFormatter; /** * 异常日志类ExceptionLogger * @author 猫哥 * @date 2017.2.24 */ public class ExceptionLogger { //日志记录器 public static Logger logger; static{//初始化 try{ //给日志记录器起名 logger=Logger.getLogger("HomeworkSystem"); //日志相关的文件处理器 FileHandler fileHandler; fileHandler = new FileHandler("d:\\log.txt"); //文件处理器相关的格式 SimpleFormatter formatter = new SimpleFormatter(); fileHandler.setFormatter(formatter); //日志记录器使用fileHandler管理文件 4000 logger.addHandler(fileHandler); } catch (SecurityException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } //记录一条日志 public static void logInfo(String info){ //设置日志级别,内容 LogRecord logRecord = new LogRecord(Level.INFO, info); //记录一条日志 logger.log(logRecord); } }
该类将日志处理逻辑封装好了,只需要调用ExceptionLogger.logInfo便可轻易记录日志。
猫哥想把异常信息都记录到日志里面,所以修改MyException类如下:
/** * exception包:包含自定义异常类的包 */ package exception; import java.util.Date; import util.ExceptionLogger; public class MyException extends Exception{ private Date time;//记录异常发生时间 private String message;//原始异常信息,给程序员看,记录日志 private String info;//自定义信息,给用户看 public MyException(){ super(); } public MyException(Date time,String msg,String info){ super(); this.time=time; this.message=msg; this.info=info; //日志 ExceptionLogger.logInfo(msg+"##"+info); } public Date getTime() { return time; } public void setTime(Date time) { this.time = time; } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } public String getInfo() { return info; } public void setInfo(String info) { this.info = info; } }
好的,测试下,登录时输错密码后点击登录,在D盘下日志文件中发现:
二月 24, 2017 11:51:19 上午 util.ExceptionLogger logInfo 信息: LoginAction Error##登录失败!
OVER,这个日志系统非常简单,但是也容易扩展。可以分别使用多个日志类,分别对应不同的文件、级别。推荐的做法是使用两个,一个记录登录用户的行为,一个记录系统运行的异常。
相关文章推荐
- JSP+Servlet培训班作业管理系统[22] -番外篇之过滤器与权限管理
- JSP+Servlet培训班作业管理系统[20] -番外篇之登录页美工设计
- JSP+Servlet培训班作业管理系统[21] -番外篇之登录页美工实现
- JSP+Servlet培训班作业管理系统[4]-记录登录用户信息
- JSP+Servlet培训班作业管理系统[5]-加载角色对应菜单
- JSP+Servlet培训班作业管理系统[9] -登录功能的实现
- JSP+Servlet培训班作业管理系统[14] -分页(以人员管理为例)
- JSP+Servlet培训班作业管理系统[16] -使用事务完成新增作业功能
- JSP+Servlet培训班作业管理系统[18] -完结篇之后端源代码
- JAVA_WEB项目(结合Servlet+jsp+ckEditor编辑器+jquery easyui技术)实现新闻发布管理系统第一篇:前期环境准备
- JSP+Servlet培训班作业管理系统[13] -使用基于Action的后端(用户登录为例)
- JSP+Servlet培训班作业管理系统[6]-人员管理功能实现
- JSP+Servlet培训班作业管理系统[2]-后台管理页面
- JSP+Servlet培训班作业管理系统[1]-登录功能的简单实现
- JSP+Servlet培训班作业管理系统[17] -完结篇之功能点介绍
- JSP+Servlet培训班作业管理系统[19] -完结篇之前端源代码
- JSP+Servlet培训班作业管理系统[0]-功能设计(必须看下)
- JSP+Servlet培训班作业管理系统[15] -事务的使用时机(以新增作业为例)
- JSP+Servlet培训班作业管理系统[11] -通用CRUD后端的实现(以人员管理为例)
- JSP+Servlet培训班作业管理系统[7] -Mysql数据库设计