关于Java中的Map的浅拷贝和深拷贝问题
发生背景
- 生产打印的log会有图片的Base64码 这并不是我们实际日志中需要关心的东西
- 想定的解决案是在切面打印日志类中删除掉打印log的字段
使用过程
-
根据方法的参数做区分 定位到对应的参数是 删除掉参数中的图片字段
- 代码
if (args.length == 1 && args[0] instanceof Map){ Map<String,Object> argMap = (Map)args[0]; argMap.remove("picture"); log.info("{}.{} : 接口调用开始--> 请求参数:{} ", method.getDeclaringClass().getName(), method.getName(), JSONObject.toJSONString