Debugging 您更喜欢什么日志记录实现? 我将在C++中实现日志记录类,并试图决定如何进行日志记录。我很想知道有哪些不同的日志实现

Debugging 您更喜欢什么日志记录实现? 我将在C++中实现日志记录类,并试图决定如何进行日志记录。我很想知道有哪些不同的日志实现,debugging,language-agnostic,logging,Debugging,Language Agnostic,Logging,例如,我在Python中使用了带有“levels”的日志记录。在这里,您可以筛选出低于某个阈值的日志事件。它还包括记录“名称”,您可以在其中通过层次结构过滤事件,例如“app.apples.*”将不显示,但“app.bananas.*”将显示 我曾想过使用“标签”,但不确定它的实现。我见过一些游戏使用“比特”来实现紧凑性 所以我的问题是: 您以前创建或使用过哪些实现 你认为它们的优点和缺点是什么 我读过杰夫·阿特伍德的作品 这是关于日志溢出以及如何避免它。维基百科页面上有很多链接。杰夫·阿特伍

例如,我在Python中使用了带有“levels”的日志记录。在这里,您可以筛选出低于某个阈值的日志事件。它还包括记录“名称”,您可以在其中通过层次结构过滤事件,例如“app.apples.*”将不显示,但“app.bananas.*”将显示

我曾想过使用“标签”,但不确定它的实现。我见过一些游戏使用“比特”来实现紧凑性

所以我的问题是:

  • 您以前创建或使用过哪些实现
  • 你认为它们的优点和缺点是什么
    • 我读过杰夫·阿特伍德的作品


      这是关于日志溢出以及如何避免它。

      维基百科页面上有很多链接。

      杰夫·阿特伍德有一篇关于日志的文章。它的最终信息是日志记录通常是不必要的(在某种程度上)

      日志通常不能很好地扩展(在高流量系统上有太多数据)

      我认为最好的一点是你通常不需要它。与筛选大量日志文件相比,手动跟踪代码以了解分配给对象的值更容易

      这只是信息过载

      现在,单用户应用程序的情况就不同了。对于媒体编码或一般操作系统使用,最好有一个小型应用程序的日志,因为调试信息在这种情况下(对我来说)很有用。如果刻录DVD时出现问题,如果您了解日志输出,查看日志信息将非常有助于排除故障

      我认为有几个级别会对用户有所帮助,例如:

      • 没有日志
      • 用于一般用户反馈的基本日志记录
      • 供开发人员或技术支持人员解释的高技术数据
      根据具体情况,存储所有日志数据并仅向用户显示基本信息,或者提供查看所有详细数据的选项可能会很有用


      这完全取决于域。

      我们的一个应用程序使用注册表项在生产执行期间动态控制日志记录/跟踪

      例如: 如果(Logger.TraceOption已启用(TraceOption.PLCF_ShowConfig)){…无论什么

      当在运行时执行时,如果注册表值PLCF_ShowConfig为true,则调用将返回true,并执行任何操作


      非常方便。

      您真正想要什么类型的日志记录?在什么系统上?您想要应用程序的特定日志吗?您想要存储在syslog中吗?这更像是一个一般性问题。只需假设一个应用程序的标准输出或文件输出。