2012-11-10 24 views
2

可能重复:
Putting XML Data into the Windows Event LogEventLog.WriteEntry先进的信息

从事件日志复制从我的应用程序自定义事件系统事件的XML的比较。与使用写入条目发送的C#事件相比,似乎无法添加扩展信息。

for example: <EventData> 

我还没有找到任何地方你可以操纵该事件的部分。

<EventData> 
    <Data Name="PackageName">MICROSOFT_AUTHENTICATION_PACKAGE_V1_0</Data> 
    <Data Name="TargetUserName">testuser</Data> 
    <Data Name="Workstation">CRAPSTATION</Data> 
    <Data Name="Status">0xc0000064</Data> 
</EventData> 

当试图重现确切的事件或模拟其他事件。我想匹配系统所做的一些事情(如果可能的话),以使事件在我们的审计软件中显示相同,或重播某些事件以进行测试。一个例子是从基于IIS表单的身份验证页面编写失败的登录事件,看起来像系统失败的登录。审计软件会知道如何处理事件从日志中形成事件的方式分类。

看来我只能从类似下面的

<EventData> 
    <Data>The supplied credential is invalid.</Data> 
</EventData> 

一个C#事件获取的事件数据是否有可能形成自己的XML,然后发送,而不是使用WriteEntry的?

回答

0

如果你想完全访问Windows事件日志,那么你可能不得不使用平台调用 - 虽然可能有一个库,这样做,我不知道。

http://msdn.microsoft.com/en-us/library/windows/desktop/aa385785(v=vs.85).aspx提供了本地事件日志API的文档。

+0

有趣的是,有没有更简单的方法来做到这一点是c#..似乎c#有它自己的类型的清单,本质上是非常通用的。要获得先进的功能,我需要创建一个清单..写一些非托管代码,并使用pinvoke ...从它的外观。 –