【发布时间】:2012-02-01 13:32:37
【问题描述】:
也许这是一个微不足道的问题,许多/大多数/所有好的框架都可以做到,但我正在寻找一个 使其易于 的记录器类/框架(尽可能简单)有一个嵌套的日志输出,比如
[time] A::doSomething start
[time] doing this
[time] doing that
[time] calling B
[time] B::somethingElse start
[time] do
[time] re
[time] mi
[time] c::foo start
[time] ...
[time] c::foo end
[time] B::somethingElse end
[time] A::doSomething end
我在搜索互联网时最接近的是nested diagnostic contexts in log4j。但是a)这是针对java的,b)我不确定这是否提供了我正在寻找的东西......
文档中有“当离开上下文时,调用 NDC.pop”。如果可能的话,我想拥有更多基于堆栈的魔法。
有没有可以做我正在寻找的项目?
TIA
【问题讨论】:
-
我找到了一个简单的单例类,它带有宏,可以根据调试定义进行调用,如果您需要创建一个,则最容易创建,否则只需执行项目已经在做的事情。
-
“项目”目前使用一个非常简单的记录器类。我继承了一堆流控制不明确的代码和许多具有多个退出点的函数/方法,纯未经过滤的意大利面条代码。而现在,我已经迫不及待地想用新的日志记录代码来抹黑代码,至少可以知道发生了什么:(
-
@AdrianAlbrecht:一个方法中有多个退出点并没有错……但是长方法通常不好:)