C#EventLog 類
EventLog 類提供了C#與Windows事件記錄互動的功能。 很多時候我們可以把日誌寫到windows事件記錄中.
說明:EventLog 使您可以訪問或自訂Windows 事件記錄。通過C#提供的EventLog類,可以讀取現有日誌,向日誌中寫入項,建立或刪除事件來源,刪除日誌,以及響應日誌項。也可在建立事件來源時建立新日誌。
開啟Windows事件記錄的方法
右擊我的電腦->管理->事件記錄就可以了.
CreateEventSource
已重載。 建立一個能夠將事件資訊寫入到系統的特定日誌中的應用程式。
Delete
已重載。 移除日誌資源。
DeleteEventSource
已重載。 從事件記錄中移除應用程式的事件來源註冊。
SourceExist
已重載。 在電腦的註冊表中搜尋給定的事件來源。
WriteEntry
已重載。 將項寫入事件記錄。
WriteEvent
已重載。 向事件記錄寫入本地化事件項。
為了能夠使用EventLog,我們需要引入usingSystem.Diagnostics命令空間.下面兩個方法在你捕獲到異常或其他時可以調用.
private void WriteError(string sText)
{
if (!EventLog.SourceExists(sEventSource))
EventLog.CreateEventSource(sEventSource, sEventLog);
EventLog.WriteEntry(sEventSource,sText, EventLogEntryType.Error);
}
private void WriteInfo(string sText)
{
if (!EventLog.SourceExists(sEventSource))
EventLog.CreateEventSource(sEventSource, sEventLog);
EventLog.WriteEntry(sEventSource,sText, EventLogEntryType.Information);
}
下面是一個簡單使用的例子.
try
{
if(1/0);
}
catch(Excepetion ex)
{
WriteError(ex.message);
}
這樣我們就可以成功的寫入到Windows事件中..:)
EventLog(事件記錄)的讀寫方法
在C#中讀寫EventLog(事件記錄)挺簡單的,代碼量也比較小。
1.加入System.DiagnosticsName Space;
using System.Diagnostics;
2.聲明一個EventLog類的執行個體。
EventLog eventLog;
eventLog=new EventLog("TestEvent",".","mySource");
"TestEvent"是建立一個新的EventLog名,
".": 表示本機
"mySource": 源名
如果以上不設參數,就預設為"Application"
設好以後,就可以讀寫了。
寫:
eventLog.Source="mySource";
eventLog.WriteEntry("Log text");
MessageBox.Show("Write Complete!")
讀:
lstEvent.Items.Clear();
eventLog.Log="TestEvent";
foreach(EventLogEntry eventlogEntry in eventLog.Entries)
{
lstEvent.Items.Add(eventlogEntry.Message);
}