EalenXie / aop-log

项目正式命名为aop-log,基于Spring AOP,ThreadLocal实现方法埋点信息收集与处理。
Apache License 2.0
117 stars 54 forks source link

traceId #1

Closed maxy19 closed 1 year ago

maxy19 commented 4 years ago

可以增加traceId功能吗?

EalenXie commented 4 years ago

暂没有思路支持这个,因为方法参数,入参出参是基于AOP实现的,没有对方法内的分布式调用做拦截。

89270966 commented 4 years ago

LogData 没有序列化,直接转json报错。 还有获取参数列表的时候,org.apache.catalina.connector.RequestFacade@18b8f282,这个也不能转字符串

EalenXie commented 4 years ago

是你的参数本身不支持序列化吧,LogData本身也不实现序列化的,入参出参皆为Object是为了兼容各种复杂对象。我的观点是复杂对象的处理的方式应该交由使用者自己在收集器中怎么去决定,所以没有对复杂的,不支持序列化的对象进行处理。

89270966 commented 4 years ago

谢谢! public static Object getArgs(String[] parameterNames, Object[] args) { Object target; if (args.length == 1) target = args[0]; else target = args; 不看代码外面通过object接受时候不知道是数组,看完源码后,转了数组,用自己的对象来拷贝属性,目前好使了。