SpringMVC中怎么将@ResponseBody返回Json数据在log4j中输出

spring配置如下:



<!-- json转换器 -->





text/html;charset=UTF-8


controller如下:
@RequestMapping("/saveUser")
@ResponseBody
public User saveUser(){
User user = new User();
user.setId("11");
user.setName("admin");
user.setPwd("11111111111111111111111");
user.setCreate_datetime(TimeUtils.getTransTime());
//int i = userService.addUser(user);
return user;
}

1个回答

使用aop 面向切面编程 拦截controller 判断当前调用的方法或者类上是否有@ResponseBody注解,如果有 获取到返回值,将返回值打印到log里面即可

aop类代码
public Object doLog(ProceedingJoinPoint joinPoint) throws Throwable {
Object object ;
//根据当前运行时类获取Logger实例
Logger logger = Logger.getLogger(joinPoint.getTarget().getClass());
try {
object = joinPoint.proceed();
} catch (Throwable e) {
e.printStackTrace();
//打印异常信息
logger.error("error", e);
throw e;
}
logger.info(object);
return object;
}

u011017804
哈尔滨的过客 注意 此处我没有判断是否有@ResponseBody注解 需要你自己判断
大约 4 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问