日志库或方法,你会推荐这种情况是什么:托管/非托管应用程序的良好日志记录库?
- 我们希望能够从托管和非托管代码
- 日志两个非托管代码,执行不应该越过回托管代码,因为这可能会导致我们的非托管线程在垃圾回收期间被“捕获”。
- 性能是一个问题
NLog提供了一个“C” API,但在其管理的实施方面实现它。
许多C日志库(rlog,glog)都依赖于宏+预处理,并且无法用.NET进行大量修改。
我想我正在寻找一些本机/非托管日志核心,但也有一个像样的.NET托管api。这是否存在?如果不存在,最接近的是什么?
后续 - 感谢提及log4net的回复。我认为Log4Net和NLog在一个纯粹的托管应用程序中都能正常工作,但-...我被要求构建的应用程序在后台线程上有非托管I/O,绝对不能被垃圾回收站阻止。如果非托管C++代码必须调用“up”进入托管日志记录器,那么在发生垃圾回收时,它有可能被冻结200或甚至2000毫秒。这就是为什么我在寻找一个不受管理的图书馆。 - 戴夫
它是用C#编写的,很好管理。 – 2009-01-18 02:44:42