先说下场景,A方法里面会调用B方法,B方法里面会调用C方法,每个方法里面会产生多个临时变量,想通过一条sql记录起来,这条sql包含本次外部调用,A以及B和C产生的临时变量,注意是一条sql。本来是想通过日志去记录,但是每次排查问题都要去看各个方法产生的日志,而且有时候还要追溯很久之前的,日志还会被清理,很不方便,所以想存到数据库里面。也想过另一种实现方式,就是在A里面定义一个object然后把A产生的临时变量塞进去,在调用B方法时,把这个object通过参数传给B,在B方法里面把临时变量存到object,包括C也是,但是要改B和C方法的定义,不想这样改调用的地方太多了。还有一种通过Threadlocal来记录这个object,这样本次线程执行各个方法拿到的都是同一个object,但是当下这个Threadlocal已经被用了,里面存的是个Long类型,没办法拓展,所以想问下有没有更好的实现方案?
7条回答 默认 最新
悬赏问题
- ¥15 已知平面坐标系(非直角坐标系)内三个点的坐标,反求两坐标轴的夹角
- ¥15 webots有问题,无响应
- ¥15 数据量少可以用MK趋势分析吗
- ¥15 使用VH6501干扰RTR位,CANoe上显示的错误帧不足32个就进入bus off快慢恢复,为什么?
- ¥15 大智慧怎么编写一个选股程序
- ¥100 python 调用 cgps 命令获取 实时位置信息
- ¥15 两台交换机分别是trunk接口和access接口为何无法通信,通信过程是如何?
- ¥15 C语言使用vscode编码错误
- ¥15 用KSV5转成本时,如何不生成那笔中间凭证
- ¥20 ensp怎么配置让PC1和PC2通讯上