java日志怎么实现_JAVA项目中怎么实现一个通用日志记录功能

本文介绍了如何在JAVA项目中实现一个通用的日志记录功能,包括使用Aop进行操作日志处理,声明Spring XML配置,以及创建Dao、Entity、Mapper。详细步骤助你轻松实现日志管理。
摘要由CSDN通过智能技术生成

JAVA项目中怎么实现一个通用日志记录功能

发布时间:2020-11-21 17:04:50

来源:亿速云

阅读:53

作者:Leah

今天就跟大家聊聊有关JAVA项目中怎么实现一个通用日志记录功能,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

使用Aop记录操作日志

第一步:添加Aop

/**

* 统一日志处理Handler

* @author Mingchenchen

*

*/

public class LogAopHandler {

@Autowired

private AuditLogDao auditLogDao;

/**

* controller层面记录操作日志

* 注意此处是aop:around的 因为需要得到请求前的参数以及请求后接口返回的结果

* @throws Throwable

*/

public Object doSaveLog(ProceedingJoinPoint joinPoint) throws Throwable {

MethodSignature method = (MethodSignature) joinPoint.getSignature();

String methodName = method.getName();

Object[] objects = joinPoint.getArgs();

String requestBody = null;

if (objects!=null && objects.length>0) {

for (Object object : objects) {

if (object == null) {

requestBody = null;//POST接口参数为空 比如删除XXX

}else if (object instanceof String) {

requestBody = (String) object;//有些接口直接把参数转换成对象了

}else {

requestBody = JSONObject.toJSONString(object);

}

}

}

//只记录POST方法的日志

boolean isNeedSaveLog = false;

//此处不能用getAnnotationByType 是JAVA8的特性,因为注解能够重名,所以得到的是数组

RequestMapping annotation = method.getMethod().getAnnotation(RequestMapping.class);

for (RequestMethod requestMethod : annotation.method()) {

if (requestMethod==RequestMethod.POST) {

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值