log4net - 来自 .net、用户模式和驱动程序的 ETW 跟踪

标签 log4net trace etw multiprocess log4cpp

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

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

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

我读到 ETW 是一种可行的方法,但是我找不到像 log4cpp 或 log4net 这样使用它的已经编写的记录器。

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

最佳答案

这里是 ETW .NET 的示例实现。这不是 log4net 的 ETW。希望这会有所帮助。

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

关于log4net - 来自 .net、用户模式和驱动程序的 ETW 跟踪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2341501/

相关文章:

macos - 为什么 iosnoop(磁盘上的 IO 监听文件)返回带有问号的路径?

c# - 如何在 ETW EventSource 中定义名称层次结构?

winapi - 使用 go 读取 ETW 提供程序

c# - 自定义配置提供程序未加载异常

asp.net - 为什么 ASP.NET 跟踪有时会起作用?

javascript - 获取 JavaScript 编译器生成的汇编代码

windows - 如何获取内核模块 nt 和 win32k 的地址?

c# - log4net %property 不起作用

c# - 在 Autofac 中手动将 Log4Net Logger 实例注册到 ILog 有什么缺点?

c# - 以编程方式更改 log4net 日志记录级别