在日志记录级别之上的最佳实践

7
通常,日志级别可以切换以获取不同级别的详细日志。通常,最低级别的日志经常可以帮助人们确定代码的哪个区域可能存在问题。为了进一步调试,通常会增加调试级别以获取更多信息。然而,这会导致大量与问题无关的不必要的日志。
问题是:在这个问题上有什么最佳实践?通过逻辑区域、方法或其他方式定义另一个维度的日志记录?
编辑: 这来自一个真实项目,应用程序部署在客户环境中,当出现问题时,日志是他们用于调试的东西,他们肯定会讨厌发送大量的日志,或者自己进行分析/解析:通常他们是非技术客户。我想这与如何管理此情况下的日志效率有关。如果开启另一个线程更合适,请留言。谢谢。
3个回答

3
您可以针对应用程序的不同部分使用不同的监听器。但最好使用的可能是Microsoft Log Parser,它可以让您在日志文件上运行查询,例如,您可以在文本日志文件中对数据进行SELECT操作。请查看一下,这真的是一个非常强大的工具。

2
如果您有大量的日志,可以按功能区域对其进行分离,这就是NHibernate使用log4net的方式。例如:
NHiberate(根)
NHibernate.Loader
NHibernate.Cache
NHiberante.SQL
...
另外,使用像log4j/net这样的好库,您可以使用滚动日志文件附加器,轻松配置以避免填满硬盘。例如,您可以将其配置为生成最多10MB的日志文件,然后滚动到另一个文件最多10次,然后返回第一个文件并覆盖它。

0

你已经提到了按级别记录日志。这里是 java.util.logging 包提供的日志级别,非常有效地控制日志消息的数量,根据需要进行趋势分析或调试。

另一个记录日志的维度是按事件记录,并将这些事件分类到某种相对较浅的层次结构中。查看这篇关于用于分析目的的日志记录的文章,获取更多信息,例如使用 Scribe 和 Hadoop。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接