记录企业应用程序的最佳做法是什么?

时间:2009-03-23 14:27:53

标签: logging

企业应用程序的某些日志记录标准是什么?

有没有人有关于这个主题的白皮书?

6 个答案:

答案 0 :(得分:16)

请参阅Microsoft Enterprise Library。它包含Logging Application Block,文档可能就是您要查找的内容。您无需先安装库即可查看MSDN Documentation。具体来说,请参阅Key ScenariosDesign of the Logging Application Block来回答您的问题(即使您没有使用.NET)。

更新(2013年4月23日)使用新的Embracing Semantic Logging

查看Semantic Logging Application Block

答案 1 :(得分:6)

Effective logging practices ease enterprise development上写了一篇好文章。

关键是:

  1. 了解记录的必要性。
  2. 了解可用的选项以及最适合您的选项(因平台/操作系统/等而异)
  3. 在实施前预先制定策略。
  4. 继续审核并进行更改。

答案 2 :(得分:4)

一些提示:

  • 日志不超过发布/制作中的必要
  • 记录错误,如果可能的话,这样做:
    • 将日志操作放入temp var(vector / list)
    • 如果没有错误发生,则丢弃日志,在另一种情况下发送到日志文件
  • 创建标志以控制要记录的信息级别
  • 控制生产/开发环境中的日志行为
  • 控制日志文件的并发访问
  • 控制需要多长文件日志
  • 控制文件日志的维护时间
  • 有时需要执行性能验证,在必要时放置计时器

答案 3 :(得分:3)

有很多日志框架,包括log4net和log4j,但正确的日志框架将取决于您的平台和系统。

最佳日志记录技术在很大程度上取决于您的平台和系统设计。您需要知道/决定诊断特定类型问题所需的信息量。通常,您应该以不需要大量代码重复或修改的方式检测代码。使用归因类和方法的.NET中的日志框架是低影响力检测的一个很好的例子。您还应该能够通过配置修改日志记录级别(Low to Verbose),而无需关闭或重新启动任何服务。

答案 4 :(得分:3)

如果你真的想深入研究这个主题的哲学,请在MiloslavTrmač的博客上试试"Do Not Believe in Structured Logging"

“......这些课程是通过艰难的方式学到的......”

答案 5 :(得分:2)

Serilog是另一种结构化日志记录解决方案,自首次提出问题以来,它已经变得流行起来。

在他的采访中,布鲁姆哈特先生谈到了通过我们所经历的伐木痛苦而建造图书馆的问题。他们在节目中讨论了在初始开发过程中简单的日志记录以及随着项目的成熟而正式化日志记录。好东西,可能会增加问题中提出的最佳实践知识库。

来自网站:

  

与.NET的其他日志记录库一样,Serilog提供诊断功能   记录到文件,控制台等等。它很容易设置,有一个   干净的API,可在最近的.NET平台之间移植。

     

与.NET的其他日志记录库不同,Serilog是使用   记住结构化日志数据。与日志消息一起传递的参数   不会破坏性地呈现为文本格式。相反,他们是   保存为结构化数据,可以以文档形式写入   NoSQL数据存储