使用 C# .NET 寫入事件記錄

來源:互聯網
上載者:User
寫入事件記錄

完整代碼清單

概要
本文示範如何使用 Microsoft .NET 架構在作業系統的事件記錄中添加您自己的條目。

要求
下表概括了推薦使用的硬體、軟體、網路架構以及所需的 Service Pack: • Microsoft Windows 2000 Professional、Windows 2000 Server、Windows 2000 Advanced Server 或 Windows NT 4.0 Server
• Microsoft Visual Studio .NET

寫入事件記錄
事件記錄給應用程式提供了一種標準、集中的方法來記錄重要的軟體和硬體事件。 Windows 提供了一個用於查看日誌的標準使用者介面,即事件檢視器。 使用公用語言的運行庫 EventLog 組件,您可以方便地串連到本地和遠端電腦上的現有事件記錄,並在這些日誌中填寫條目。 您也可以從已有的日誌讀取條目並建立您自己的自訂事件記錄。 使用最簡單的方式,只需幾步就可建立一個應用程式範例並寫入事件記錄中: 1. 開啟 Visual Studio .NET
2. 在 Microsoft C# 中建立控制台應用程式。Visual C# .NET 為您建立一個公用類,以及一個空的 Main() 方法。
3. 請確保項目至少引用了 System.dll。
4. 對 System 和 System.Diagnostics 名稱空間使用 using 指令,這樣,在後面的代碼中就不需要限定這些名稱空間中的聲明了。這些語句必須放在所有其他聲明之前。
using System;
using System.Diagnostics;
5. 若要寫入事件記錄,需要提供以下幾條資訊: 您的訊息、要寫入的日誌名(如果不存在,就會建立一個名稱)以及一個表示事件來源的字串。 某種源只能在一個事件記錄中記錄,因此,如果要在多個日誌中寫入訊息,必須定義多個源。
string sSource;
string sLog;
string sEvent;
sSource = "dotNET Sample App";
sLog = "Application";
sEvent = "Sample Event";
6. 有了所有這些資訊後,第一步是使用 EventLog 類的兩個靜態方法先檢查您的事件來源是否存在,如果不存在,則建立與特定事件記錄關聯的事件來源。 如果指定的日誌名不存在,則在寫入第一個條目時自動建立該名稱。 如果沒有為 CreateEventSource 方法提供日誌名,則預設指定為應用程式記錄檔。
if (!EventLog.SourceExists(sSource))
EventLog.CreateEventSource(sSource,sLog);
7. 若要將訊息寫入事件記錄,需使用靜態方法 EventLog.WriteEntry(有多個不同的重載版本)。 在下面的代碼中給出了最簡單的方法,只需提供源字串和您的訊息,而比較複雜的方法還需提供事件 ID 和事件類型。
EventLog.WriteEntry(sSource,sEvent);
EventLog.WriteEntry(sSource, sEvent, EventLogEntryType.Warning, 234);
8. 儲存並運行代碼,然後在事件檢視器中檢查應用程式記錄檔,以查看您的新事件。

完整代碼清單
using System;
using System.Diagnostics;
namespace WriteToAnEventLog_csharp
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Class1
{
static void Main(string[] args)
{
string sSource;
string sLog;
string sEvent;
sSource = "dotNET Sample App";
sLog = "Application";
sEvent = "Sample Event";
if (!EventLog.SourceExists(sSource))
EventLog.CreateEventSource(sSource,sLog);
EventLog.WriteEntry(sSource,sEvent);
EventLog.WriteEntry(sSource, sEvent,
EventLogEntryType.Warning, 234);
}
}
}
<BR/>
<BR/>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.