我想連接到本地日誌,並得到一些事件,從它。我用這個代碼:訪問本地事件日誌在C#
EventLog el = new EventLog();
el.Source = "";
但我不知道是什麼地方的EventLog源。 有誰知道當地的來源是什麼?
我想連接到本地日誌,並得到一些事件,從它。我用這個代碼:訪問本地事件日誌在C#
EventLog el = new EventLog();
el.Source = "";
但我不知道是什麼地方的EventLog源。 有誰知道當地的來源是什麼?
這要看從哪個登錄你想讀的類型。它可能是Application
,Security
,Setup
或System
。
您可以在事件查看器來源可看到:
我這樣一個月前做了一個計劃:(使用XPath查詢)
const string queryString = @"<QueryList> <Query Id=""0"" Path=""Security""> <Select Path=""Security"">*</Select> </Query></QueryList>";
EventLogQuery eventsQuery = new EventLogQuery("Security", PathType.LogName, queryString);
eventsQuery.ReverseDirection = true;
EventLogReader logReader = new EventLogReader(eventsQuery);
for (EventRecord eventInstance = logReader.ReadEvent();
null != eventInstance; eventInstance = logReader.ReadEvent())
{
foreach (var VARIABLE in eventInstance.Properties)
if (VARIABLE.Value.ToString().ToLower().Contains(...)
{
...
}
}
通過你的問題......什麼是本地源 - 你想要的來源,或只是一個列表你的意思想確認本地源是進程正在運行的機器?
如果要列舉的事件......有很多不同的方式來做到這一點,包括
var log = new EventLog("Application");
res = from entry in log.Entries.Cast<EventLogEntry>()
entry.TimeGenerated >= start
select entry;
foreach (var e in res)
{
Console.WriteLine(e.Message);
}
什麼是EventLogQuery命名空間? –
@ahmadalishafiee:當您搜索命名空間時,請在msdn中搜索該項目:http://msdn.microsoft.com/en-us/library/system.diagnostics.eventing.reader.eventlogquery.aspx =>命名空間是在左邊的樹上指示:'System.Diagnostics.Eventing.Reader'。 – Otiel
繼續獲取授權例外,互聯網上沒有任何地方解釋了這個... – jjxtra