hbzhaoyf 2015-04-26 08:14 采纳率: 18.2%
浏览 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;
    }

    评论

报告相同问题?

悬赏问题

  • ¥35 平滑拟合曲线该如何生成
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站