我即将在C ++中实现一个日志类,我正在尝试决定如何做。我很想知道那里有哪种不同的日志记录实现。
例如,我在Python中使用了“级别”的日志记录。过滤掉低于特定阈值的日志事件的位置。它还包括记录“名称”,您可以通过层次结构过滤掉事件,例如“app.apples。*”将不会显示,但“app.bananas。*”将会显示。
我已经考虑过使用“标签”,但不确定实施情况。我已经看到游戏使用“位”来实现紧凑性。
所以我的问题:
答案 0 :(得分:3)
我读过Jeff Atwood的this post
这是关于Logging的溢出以及如何避免它。
答案 1 :(得分:1)
Log4J维基百科页面上有很多链接。
答案 2 :(得分:1)
杰夫阿特伍德有关于记录的pretty interesting blog条目。它的最终信息是日志记录通常是不必要的(在某种程度上)。
记录通常不能很好地扩展(高流量系统上的数据太多)。
我认为最好的一点是你通常不需要它。手动跟踪代码以了解分配给事物的值比分析大量日志文件更容易。
这只是信息过载。
现在单个用户应用程序也不能这样说。对于像媒体编码或一般操作系统使用这样的东西,为小型应用程序创建日志会很不错,因为在这种情况下调试信息 对我很有用。如果您正在刻录DVD并出现问题,那么查看日志信息对于在了解日志输出时进行故障排除非常有帮助。
我认为有几个级别对用户有帮助,例如:
根据具体情况,存储所有日志数据并仅向用户显示基本信息或者可能提供查看所有详细数据的选项可能很有用。
这完全取决于域名。
答案 3 :(得分:1)
我们的一个应用程序使用Registry条目在生产执行期间动态控制日志记录/跟踪。
例如: if(Logger.TraceOptionIsEnabled(TraceOption.PLCF_ShowConfig)){...等等
在运行时执行,如果注册表值PLCF_ShowConfig为true,则调用返回true,并执行任何操作。
非常方便。