hbzhaoyf 2015-04-26 08:14 采纳率: 0%
浏览 4223

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条回答 默认 最新

  • 哈尔滨的过客 2016-08-21 06:32
    关注

    使用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;
    }

    评论

报告相同问题?