我必须为.net应用程序创建一个记录器(我不能使用第三方框架)。记录器的要求是:
记录器应该可以从.config文件进行配置,而无需停止应用程序。 它应具有不同的日志记录级别。
日志目的地应为控制台和文本文件(可配置)
如果达到最大文件大小限制,记录器应该能够创建另一个日志文件,如果磁盘空间不足则应该停止记录。
记录器应该在正常和限制模式下工作。当由于某种原因(例如服务器未启动)出现连续错误时,它应该停止记录。
请指导哪些.net类最适合用于创建记录器?
答案 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