Rumah  >  Soal Jawab  >  teks badan

java - 请问如果才能打印引用的第三方jar包中方法的日志?

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

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

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

伊谢尔伦伊谢尔伦2763 hari yang lalu770

membalas semua(4)saya akan balas

  • ringa_lee

    ringa_lee2017-04-18 10:34:17

    Anda boleh menulis kelas ejen pengelogan sendiri, dan kemudian menggunakan pakej java.lang.instrument untuk suntikan bytecode Anda boleh menggunakan javassist untuk suntikan, yang mudah dan mudah untuk digunakan pada lapisan JVM .

    balas
    0
  • 大家讲道理

    大家讲道理2017-04-18 10:34:17

    Ia bergantung pada cara anda menggunakannya Jika objek bean yang anda gunakan diuruskan oleh bekas ioc, anda pasti boleh menggunakannya aop

    balas
    0
  • 大家讲道理

    大家讲道理2017-04-18 10:34:17

    Secara amnya balang pihak ketiga mempunyai pelaksanaan log, yang mungkin menggunakan antara muka commons-logging atau slf4j Sebagai contoh, jika slf4j digunakan untuk melaksanakan log balik, maka secara amnya cukup untuk menambah balang slf4j dan logback pada projek kaedah pelaksanaan log Gunakan pakej penghubung log.
    Jika keperluan tidak dapat dipenuhi, anda boleh menggunakan jd-dui untuk menyahkompilasi dan jbe untuk mengubah suai bytecode

    balas
    0
  • 巴扎黑

    巴扎黑2017-04-18 10:34:17

    Saya baru sahaja menemui alat, anylog, yang nampaknya berfungsi, tetapi saya belum mencubanya lagi, tetapi lebih baik untuk melaksanakannya melalui kod saya masih mencari jalan

    balas
    0
  • Batalbalas