log4net,ETW&的使用之间的差异TraceLogging

时间:2015-06-08 12:54:52

标签: debugging log4net trace etw

我使用 Debug.WriteLine 来调试现有的遗留应用程序以查找程序流。现在我正在研究一个基于事件(消息)的应用程序,它包含多个对事件做出反应的服务。它使用许多云(如Azure)资源。

我试图理解不同的日志系统 ETW(Windows事件跟踪),TraceLogging和log4Net 等......其中哪一个支持记录系统异常(特别是异常即将到来)来自云服务或资源),程序异常,编码记录等......

1 个答案:

答案 0 :(得分:1)

使用ETW,您还可以捕获内核数据并查看代码如何影响CPU,磁盘使用情况。您还可以捕获ETW事件的调用堆栈(Vista中的内核模式事件的调用堆栈以及自Windows 7以来的用户模式事件)。

使用ExceptionKeyword关键字激活日志记录时,.Net运行时ETW提供程序会引发异常。 I've already posted a Profile在Stack Overflow上激活异常,汇编(Un)加载事件的调用堆栈。在这里,您可以看到异常的callstack。

与其他日志记录方法相比,ETW的优势在于其出色的性能。此外,在您明确激活事件监听之前,日志记录将被禁用,并且捕获的ETL文件可以转移到其他设备并在那里进行分析。