java - 请问如果才能打印引用的第三方jar包中方法的日志?
伊谢尔伦
伊谢尔伦 2017-04-18 10:32:17
0
4
769
  • 问题

列表项目现在问题是引用了一个第三方工具,而这个工具并没有打印日志,我想打印这个方法的的入参与返回值,注意这个方法是这个工具里面其它方法去调用的。所以入参与返回值,我是拿不到的。

  • 尝试解决

我现在想到的办法是,用spring的aop去拦截这个方法,利用环绕增强去实现。但是发现,根本拦截不了,spring貌似只能拦截他所管理的bean的方法。

想请教有没有人实现过,打印第三方jar的日志功能,谢谢

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

répondre à tous(4)
左手右手慢动作

Vous pouvez écrire vous-même une classe d'agent de journalisation, puis utiliser le package java.lang.instrument pour l'injection de bytecode. Vous pouvez utiliser javassist pour l'injection, qui est simple et facile à utiliser. Il est équivalent à AOP au niveau de la couche JVM. .

大家讲道理

Cela dépend de la façon dont vous l'utilisez. Si l'objet bean que vous utilisez est géré par le conteneur ioc, vous pouvez certainement l'utiliser aop

大家讲道理

En général, les jars tiers ont une implémentation de journal, qui peut utiliser l'interface commons-logging ou slf4j. Par exemple, si slf4j est utilisé pour implémenter la journalisation, il suffit généralement d'ajouter slf4j et logback jar au projet. méthode d'implémentation du journal Utiliser le package de pontage des journaux.
Si les conditions ne peuvent pas être remplies, vous pouvez utiliser jd-dui pour décompiler et jbe pour modifier le bytecode

巴扎黑

Je viens de trouver un outil, anylog, qui semble fonctionner. Je ne l'ai pas encore essayé, mais il serait préférable de l'implémenter via du code. Je cherche toujours un moyen

.
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!