什么是日志库?

dsi*_*cha 5 language-agnostic logging

这可能是一个愚蠢的问题,因为我的大多数编程都包含一人科学计算研究原型和开发相对低级的库.我以前从未在企业环境中编写过大型程序.我一直想知道,日志库比使用优质的老式打印语句或文件输出,简单的编程逻辑和一些全局变量更容易确定事情的详细记录是什么?你怎么知道什么时候一些打印语句或一些基本的文件输出不会削减它,你需要一个真正的日志库?

chu*_*ubs 2

日志记录有助于调试问题,尤其是当您转向生产并且问题出现在您无法控制的人员机器上时。精心制定的计划永远无法在与敌人的接触中幸存,而日志记录可以帮助您在面对现实世界数据时跟踪战斗的进展情况。

  1. 现成的日志库很容易插入并在 5 分钟内运行。
  2. 日志库允许对每个语句进行各种级别的日志记录(FATAL、ERROR、WARN、INFO、DEBUG 等)。
  3. 您可以打开或关闭日志记录,以在运行时获取更多或更少的信息。
  4. 高度线程系统有助于弄清楚哪个线程在做什么。日志库可以记录有关线程、时间戳的信息,而普通打印语句则不能。
  5. 大多数允许您仅打开部分日志记录以获得更多详细信息。因此,一个系统可以记录调试信息,而另一个系统只能记录致命错误。
  6. 日志记录库允许您通过外部文件配置日志记录,以便在生产中轻松打开或关闭,而无需重新编译、部署等。
  7. 第三方库通常会记录日志,以便您可以像控制系统的其他部分一样控制它们。
  8. 大多数库允许您根据条件将部分或全部语句记录到一个或多个文件中。因此您可以记录到控制台和日志文件。
  9. 日志库允许您轮换日志,因此它将根据许多不同的条件保留多个日志文件。假设日志达到 20MB 后,将其旋转到另一个文件,并保留 10 个日志文件,以便日志数据始终为 100MB。
  10. 某些日志语句可以编译进或编译出(取决于语言)。
  11. 可以扩展日志库以添加新功能。

当您开始需要其中一些功能时,您将需要开始使用日志记录库。如果您发现自己正在更改程序以获得其中一些功能,您可能需要研究一个好的日志库。它们易于学习、设置和使用,而且无处不在。

  • 在我选择的语言(D)中,我觉得其中大部分对于我自己来说都是微不足道的,即比查找、下载、编译、配置、学习等日志库更容易。如果我只实现我在任何给定时间实际需要的那些,并且您考虑了使其**完全**我想要的特定应用程序的价值,仅此而已,则尤其如此。 (2认同)