[英]Which .Net classes will be the best to use for creating a logger for .Net Application
我必须为.net应用程序创建一个记录器(我不能使用第三方框架)。记录器的要求是:
记录器应该可以从.config文件进行配置,而无需停止应用程序。 它应具有不同的日志记录级别。
日志目的地应该是控制台和文本文件(可配置)
如果达到最大文件大小限制,记录器应该能够创建另一个日志文件,如果磁盘空间不足则应该停止记录。
记录器应该在正常和节流模式下工作。 当由于某种原因(例如服务器未启动)出现连续错误时,它应该停止记录。
请指导哪些.net类最适合用于创建记录器?
要回答您的问题,可以使用System.Diagnostics.Trace
类在应用程序中输出消息。 您可以使用可以输出到控制台,文件或其他数据源的TraceListeners
对其进行配置。
但是,我强烈建议与您的客户交谈,并向他解释存在经过充分测试,免费和开源的解决方案(例如log4net和NLog等库),并重新发明轮子可能不符合他的最佳利益。
查看System.Diagnostics命名空间,特别是那里的Trace类:
http://msdn.microsoft.com/en-us/library/system.diagnostics.trace.aspx
以下命名空间将帮助您:System.Diagnostics和System.Reflection
以下是一些可以用作开头的实现:
http://www.codeproject.com/Articles/21338/AC-Central-Logging-Mechanism-using-the-Observer-a
http://www.codeproject.com/Articles/3953/Logger-in-C-An-easy-way-for-monitoring-NET-applica
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.