p6spy工具与Log4j与ssm整合

本文介绍如何使用p6spy工具在SSM框架中显示SQL语句,并通过Log4j进行错误日志记录的方法。首先介绍了p6spy的配置步骤,包括导入相关jar包、配置文件及设置数据库连接参数;其次详细说明了Log4j与SSM框架的整合过程,包括导入jar包、编写配置文件和调用日志记录方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

p6spy

它的作用就是将mapper层执行的sql语句显示出来看看是否符合你的预期

第一步:导入p6spy的相关jar包

在这里插入图片描述

第二步:导入p6spy的配置文件

在这里插入图片描述

第三步:修改database.properties中的driver和url

图片中的是mysql8.0前的版本
在这里插入图片描述
如果mysql为8.0那么配置为

#p6spy
driver=com.p6spy.engine.spy.P6SpyDriver
url=jdbc:p6spy:mysql://localhost:3306/dt48?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT
username=root
password=12345

二、Log4j与ssm整合

当服务器上线后错误会记录在日志中,然后我们解决
第一步:导入log4j的jar包
在这里插入图片描述
第二步:书写log4j的配置文件
在这里插入图片描述

第三步:调用log4j中的记录日志方法
在这里插入图片描述
注释中为自定义的日志

package cn.java.controller.exception;


//import java.io.File;
//import java.io.FileOutputStream;
//import java.io.PrintStream;
//import java.text.SimpleDateFormat;
//import java.util.Date;

import org.apache.log4j.Logger;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;



/**
 * @Description: TODO统一的异常处理器
 * @Title:  GlobalExceptHandler.java
 * @author: Matthew
 * @date: 2019年3月21日 下午5:19:56
 * @version V1.0
 */
@ControllerAdvice
public class GlobalExceptHandler {
	
	private static Logger logger = Logger.getLogger(GlobalExceptHandler.class);
	
	@ExceptionHandler(Exception.class)
	public String handException(Exception exception){
//		exception.printStackTrace();//将错误信息单独保存到一个文件中(ssm.log)--》log4j
//		log4j书写方法
		String errorMessage = exception.getMessage();
//		System.out.println(errorMessage);
		logger.debug(errorMessage);
		//自定义错误日志
		/*try {
			//改为追加
			FileOutputStream fStream = new FileOutputStream(new File("E:\\workspace\\ssm\\ssmerror.log"), true);
			PrintStream pStream = new PrintStream(fStream);
			//换行
			pStream.write("\r\n".getBytes("utf-8"));
			//获取系统当前时间,然后将时间记录到日志文件中
			Date date = new Date();
			//大写M代表月,小写m代表分,大写HH代表24小时制,小写hh代表12小时制
			SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
			String time = simpleDateFormat.format(date);
			pStream.write(time.getBytes("utf-8"));
			//换行
			pStream.write("\r\n".getBytes("utf-8"));
			//将错误信息记录到指定的文件中去
			exception.printStackTrace(pStream);
			//关闭流
			pStream.close();
			fStream.close();
		} catch (Exception e) {			
			e.printStackTrace();
		}*/

		return "error/error.jsp";
	}
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值