如何在标准跟踪,Logger.NET,企业库,log4net或Ukadc.Diagnostics之间进行选择?
是否存在一个比另一个更合适的情况?那会是什么?(ASP.NET,控制台应用,Azure云,SOHO,企业...)
有什么好处或缺点?
我是否错过了其他主要的日志记录框架?
我有几个并发运行的进程,我想要登录到同一个文件.
我们一直在使用Enterprise Library 4.1 Logging Application Block(带有a RollingFlatFileTraceListener),它工作正常,除了它在两个进程同时尝试写入日志文件时为日志文件名添加GUID这一事实(a System.Diagnostics.TextWriterTraceListener我相信的怪癖).
我尝试了各种各样的事情,包括Logger.Writer.Dispose()写入日志文件后调用,但每次写入日志条目时都不适合进行阻塞调用.
EntLib论坛建议将MSMQ与分销商服务一起使用,但这不是一个选项,因为我的公司不允许使用MSMQ.
有没有其他方法可以快速轻松地从多个线程/进程登录到同一个文件?
我正在学习分层架构,我想知道如何在这样的设计中添加日志系统.
现在让我们说我们有三层:
并假设只有更高级别的层知道下面一层的层.例如,表示层知道业务层,但不是相反.
你应该在哪里实现一般记录器类?
实施日志记录机制的好地方是什么?
在实施之后,使用这样一个系统的方法是什么?
ILogger?正如您所看到的,我对这个主题非常困惑,在我目前的工作中,没有人对企业应用程序设计/分层设计有任何了解,即使他们正在设计企业应用程序.所以任何帮助向我展示正确的方向将不胜感激.