我现在正在构建一个程序,它是一个电子书管理器、阅读器、组织者和出版商,这也是一个电子书传输(到像 Kindle 这样的电子阅读器),但我正在开发它,一个问题突然出现在我的脑海中:“日志或不?”
然后我开始考虑日志。由于许多程序都会记录操作,我开始寻找它们并查看它们如何记录内容,然后我想知道:
- 记录程序中发生的操作或事情(例如错误)很好吗?
- In my case, it's good to log things?
- 记录事物(文本文件、数据库...)的最佳方式是什么?
- 有没有可以记录 Lazarus 的工具?
这是必要的。日志
- 相关数据(方法参数等)的所有错误。否则,您将出现一系列无法分析的与错误相关的行为。
- 关键的入口点和出口点(你的程序在做什么?此时应该调用这些方法吗?)
- 可能耗时的方法/操作(进入和退出),因此您可以测量正在发生的情况并了解您的程序正在做什么/在哪里。
- 您从中加载配置的位置(如果适用)。这意味着您可以知道您的程序如何配置自身(它使用哪个配置?)
如果你做到了这一点,你可能会发现你花在调试器上的时间越来越少。
我会错误地记录更多而不是更少,并且如果/当这成为问题时删除或过滤(如下所述,每天记录 Gbs 可能会适得其反)。我曾在许多系统上工作过,在这些系统中,日志记录将在开发后被拒绝或删除,而这个never发生,因为它非常有用。有些人反对日志记录,因为它会影响性能。如果是这种情况,请将其删除when众所周知这是一个问题,而不是以前。
您应该能够找到合适的日志记录框架(例如log4c http://log4c.sourceforge.net/ for C, log4j http://logging.apache.org/log4j/1.2/index.html对于 Java),适用于您的特定平台,允许适当的过滤和目标选择。这意味着您可以记录到文件(并限制日志大小)、数据库、远程监视器等并更改此决定在飞行中(通过配置文件或命令行参数)。除了插入适当的日志记录语句之外,正确的框架最初应该需要很少的东西。您不必编写太多文件管理或其他日志管理代码。
这是一个有用的博客条目 http://watchitlater.com/blog/archives/115关于这个主题,并提供进一步的指导方针。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)