有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

基于Instrumentationbased logging framewok for Java

我正在努力追踪我的一个Java项目中的一个问题,目前我面临着一种可能性,那就是必须手动将大量日志语句添加到一整套方法中。正如你可能理解的那样,我不太喜欢这个想法:

  • 这些方法中的大多数都对性能至关重要,我不希望在不需要的时候添加日志记录,即使它像log4j一样轻量级

  • 在某些情况下,我希望记录Java库中类的操作。虽然OpenJDK源代码是可用的,但我不打算为此提供我自己的Java库版本

  • 我对在特定条件下记录特定代码路径感兴趣。虽然我可能会集中日志适用性检查,但如果我需要修改条件,我仍然可以预见未来的重构

  • 大量添加日志语句需要大量的工作和时间,我宁愿更有效地使用这些工作和时间

考虑到字节码操作库的存在,比如JavassistBCEL,我希望有一个日志框架,可以让我不用操心繁重的工作

由于我主要感兴趣的是在特定条件下记录方法调用参数和返回值,是否有一个基于工具的Java日志框架允许我这样做?最好是比Java agents更现代、更不尴尬的东西


共 (1) 个答案

  1. # 1 楼答案

    试试这个开源工具:http://code.google.com/p/perfspy/。它是一个运行时日志记录、性能监视和代码检查工具。它使用ApsectJ在运行时围绕应用程序代码运行,并记录每个方法的执行时间及其输入参数和值。它有一个UI应用程序,您可以在其中以树的形式查看方法调用及其输入和返回值。通过它,您可以发现性能瓶颈并理解复杂的代码流