在C#中查询事件日志中消息内容的最简单方法是什么?
我感兴趣的是编写一些代码来查询Windows事件日志中的特定错误消息内容,如中所述。但是,我不太喜欢基本上手动运行XPATH的机制或代码中的自定义事件视图……有更简单的方法吗?LINQ提供程序?您可以在事件查看器中创建自定义视图并复制生成的XML。模式完全相同 另一个选项是一次读取一个事件,并使用字符串搜索、XPATH或LINQ to XML检查其内容。显然,这不是最具可扩展性的解决方案,尤其是在查询远程服务器时在C#中查询事件日志中消息内容的最简单方法是什么?,c#,.net,event-log,C#,.net,Event Log,我感兴趣的是编写一些代码来查询Windows事件日志中的特定错误消息内容,如中所述。但是,我不太喜欢基本上手动运行XPATH的机制或代码中的自定义事件视图……有更简单的方法吗?LINQ提供程序?您可以在事件查看器中创建自定义视图并复制生成的XML。模式完全相同 另一个选项是一次读取一个事件,并使用字符串搜索、XPATH或LINQ to XML检查其内容。显然,这不是最具可扩展性的解决方案,尤其是在查询远程服务器时 谷歌搜索可以找到一些似乎使用LINQ查询事件日志的示例,但它们实际上只是枚举所有条
谷歌搜索可以找到一些似乎使用LINQ查询事件日志的示例,但它们实际上只是枚举所有条目。似乎没有任何提供者能够真正将LINQ查询转换为正确的XML并返回结果也许有人会发现这很有用 我正在使用查询远程计算机上的安全事件日志。它工作有点慢,但产生的结果我需要。我正在使用的查询:
EventLog elog = new EventLog();
elog.MachineName = "REMOTE MACHINE NAME";
elog.Log = "Security";
var query =
from EventLogEntry e in elog.Entries
where e.EventID == 560 // EVENT CODE (FILE DELETION IN MY CASE)
&& e.UserName == @"DOMAIN\USERNAME"
&& e.Message.Contains("TEXT INSIDE THE MESSAGE")
select e;
query.Dump();