寻找元日志框架

时间:2009-07-04 08:50:56

标签: java logging

我正在寻找一个能够在更高的抽象层上登录然后Log4J或类似的库。

我不想在每行所需的日志记录中调用一次框架,而是希望在操作开始时调用一次,一次在成功结束时调用,如果发生异常则可能调用一次。

然后,日志框架应创建开始,结束,持续时间,此操作在5分钟内执行的次数,各种模块/层中的时间花费(由包命名约定标识)的日志记录条目。

有这样的事吗? 在Java?

注意:我对提示如何自己实现这一点并不感兴趣。我现在正在这样做,只是想知道我是否正在重新发明轮子。

3 个答案:

答案 0 :(得分:4)

听起来你不想要一个“日志记录”框架,你想要一个“分析”框架。

根据您对“操作”一词的含义,您想要的内容可能已经成为JVM的一部分...请查看较旧的JVMPI和较新的JVMTI

events ("actions") you can trigger on列表包括方法输入或退出,抛出或捕获的异常,线程开始或结束,GC事件等......

在jvm中使用它的内置实现是hprof。如果您对命令行很方便,它可以为您提供正常的图片......

http://www.yourkit.com/曾经是一个很好的商业产品,但我很久没有使用它了。

Eclipse和Netbeans现在都有JVMTI插件,它们应该能够告诉你每个方法的调用频率,运行时间以及它们创建和/或销毁的对象数量......

答案 1 :(得分:3)

我不知道现有的日志框架可以解决您的问题(这并不意味着这样的框架不存在......)但我认为像Spring或AspectJ提供的AOP机制可以帮助你。所以,你需要检查一下你是否正在重新设计他们的切入点/编织设施。

答案 2 :(得分:2)

在SLF4J项目的日志记录设置中,有一些工作在Profiler上完成,但我不确定它对您来说是否足够高。你可能会受到启发:)

查看http://slf4j.org/extensions.html#profiler