6

我们有一个应用程序,它的一部分位于 .net、c++ 用户模式和 C++ 驱动程序中。该应用程序分为几个可执行文件,这些可执行文件按需运行并使用 LPC 相互通信(进程在不同的会话中运行(winlogon))。

目前我们有一个家庭编写的日志服务,.net 和 c++ 用户模式通过发送 LPC 消息与之通信。驱动程序使用 DbgPrint 并且并不总是启用,因为它会导致代码运行速度慢 30%(我们有很多日志记录)。

我想把所有的日志都写在一个地方,最好不要自己写记录器(我喜欢 log4cpp 和 log4net)。要求是将所有可执行文件和驱动程序写入一个位置并具有最小的开销。

我已经读过 ETW 是可行的方法,但是我无法找到已经编写的记录器,它使用它,如 log4cpp 或 log4net。

所以基本上我的问题是,你知道是否已经实现了我可以使用的 log4cpp 和 log4net 的 ETW 附加程序?

4

3 回答 3

1

这是 ETW .NET 的示例实现。这不是 log4net 的 ETW。希望这可以帮助。

http://naveensrinivasan.com/2010/03/17/using-clr-4-0-event-tracing-for-windows-etw-along-with-application-etw/

于 2010-03-19T01:35:09.607 回答
1

请参阅EventProviderTraceListener 类

于 2010-03-19T01:37:51.660 回答
0

我来自未来... Enterprise Library 的语义记录应用程序块(SLAB)应该很好地为您服务 :)

于 2014-10-08T17:56:17.747 回答