哪个.Net类最适合用于为.Net应用程序创建记录器

时间:2012-03-15 07:33:17

标签: .net logging

我必须为.net应用程序创建一个记录器(我不能使用第三方框架)。记录器的要求是:

  1. 记录器应该可以从.config文件进行配置,而无需停止应用程序。 它应具有不同的日志记录级别。

  2. 日志目的地应为控制台和文本文件(可配置)

  3. 如果达到最大文件大小限制,记录器应该能够创建另一个日志文件,如果磁盘空间不足则应该停止记录。

  4. 记录器应该在正常和限制模式下工作。当由于某种原因(例如服务器未启动)出现连续错误时,它应该停止记录。

  5. 请指导哪些.net类最适合用于创建记录器?

3 个答案:

答案 0 :(得分:2)

要回答您的问题,您可以使用System.Diagnostics.Trace类在应用程序中输出消息。您可以使用TraceListeners对其进行配置,以便输出到控制台,文件或其他数据源。

但是,我强烈建议与您的客户交谈,并向他解释存在经过充分测试,免费和开源的解决方案(例如log4net和NLog等库),重新发明轮子可能不符合他的最佳利益。

答案 1 :(得分:1)

查看System.Diagnostics命名空间,特别是那里的Trace类:

http://msdn.microsoft.com/en-us/library/system.diagnostics.trace.aspx

答案 2 :(得分:0)

以下命名空间可以帮助您: System.Diagnostics和System.Reflection

以下是一些可以用作开头的实现:

http://www.codeproject.com/Articles/21338/A-C-Central-Logging-Mechanism-using-the-Observer-a

http://www.codeproject.com/Articles/3953/Logger-in-C-An-easy-way-for-monitoring-NET-applica