ali*_*ada 6 .net logging log4net
简单的问题:看标题.我正在使用.NET 3.5.
详细说明:我正在构建一个插件,它将在运行时加载到第三方应用程序中.主应用程序使用log4net作为其日志框架.但是,它不会公开根记录器,因此我们无法记录.(我已经向上游开发者提出了这个问题,他们将在未来的版本中修复它,所以在此期间我需要提出其他的东西)
该系统的另一个限制是,当它收到通知它应该加载本地系统上不存在的插件时,它将从连接的服务器(如果它存在于服务器上)下拉该插件,但是它只能拉下插件所在的组件.这意味着没有外部程序集,也不能使用插件部署.config或任何其他文件.
这让我只有内置的.NET程序集和插件程序集中的所有内容.但是,我不想通过建立自己的另一个记录框架来重新发明轮子,所以我想知道这个问题的最佳方法是什么.
我更喜欢登录到文件,并希望避免将内容转储到Windows事件日志中.
Dav*_*all 10
有两个主要选择:
该Trace
和Debug
哪个是.NET框架(该范围内的部分班级System.Diagnostics
命名空间)可能是你最好的选择.它们提供了对各种运行时可配置侦听器进行轻量级日志记录的工具,可以写入文件,事件日志和其他几个地方.
听起来你不能在应用程序中添加任何额外的类,但是如果可以的话我会推荐Microsoft Enterprise Library,它是一个外部日志框架,由Microsoft提供,并且可以很好地与.NET代码一起使用.