问题
列表项目现在问题是引用了一个第三方工具,而这个工具并没有打印日志,我想打印这个方法的的入参与返回值,注意这个方法是这个工具里面其它方法去调用的。所以入参与返回值,我是拿不到的。
尝试解决
我现在想到的办法是,用spring的aop去拦截这个方法,利用环绕增强去实现。但是发现,根本拦截不了,spring貌似只能拦截他所管理的bean的方法。
想请教有没有人实现过,打印第三方jar的日志功能,谢谢
小伙看你根骨奇佳,潜力无限,来学PHP伐。
独自のロギング エージェント クラスを作成し、バイトコード インジェクションに java.lang.instrument パッケージを使用できます。これは、JVM 層での AOP と同等であり、簡単に使用できます。
使い方次第ですbean对象被ioc容器管理着那一定可以使用aop
bean
ioc
aop
通常、サードパーティの jar にはログ実装があり、commons-logging または slf4j インターフェイスを使用する場合があります。たとえば、slf4j を使用して logback を実装する場合、ログを変更するには、通常、slf4j および logback jar を追加するだけで十分です。実装方法はlog Bridgeパッケージを使用します。 要件を満たせない場合は、jd-dui を使用して逆コンパイルし、jbe を使用してバイトコードを変更できます
Anylog というツールを見つけました。これは機能すると思われますが、まだ試していません。コードを通じて実装するのが最善です。まだ方法を探しています。
独自のロギング エージェント クラスを作成し、バイトコード インジェクションに java.lang.instrument パッケージを使用できます。これは、JVM 層での AOP と同等であり、簡単に使用できます。
使い方次第です
bean
对象被ioc
容器管理着那一定可以使用aop
通常、サードパーティの jar にはログ実装があり、commons-logging または slf4j インターフェイスを使用する場合があります。たとえば、slf4j を使用して logback を実装する場合、ログを変更するには、通常、slf4j および logback jar を追加するだけで十分です。実装方法はlog Bridgeパッケージを使用します。
要件を満たせない場合は、jd-dui を使用して逆コンパイルし、jbe を使用してバイトコードを変更できます
Anylog というツールを見つけました。これは機能すると思われますが、まだ試していません。コードを通じて実装するのが最善です。まだ方法を探しています。