Jak zapisovat do protokolu událostí pomocí aplikace Visual C#

Microsoft Visual C++ .NET verzi tohoto článku naleznete v tématu 815661 .
Microsoft Visual Basic .NET verzi tohoto článku naleznete v tématu
301279 .

Tento článek odkazuje na následující obor názvů knihovny tříd rozhraní.NET Framework společnosti Microsoft:
  • System.Diagnostics

V TOMTO ÚKOLU

Souhrn

Tento článek ukazuje, jak přidat vlastní položky do protokolu událostí operačního systému pomocí Microsoft rozhraní.NET Framework.

Požadavky

Následující seznam popisuje doporučený hardware, software, síťovou infrastrukturu a aktualizace service Pack, které budete potřebovat:
  • Microsoft Windows 2000 Professional, Windows 2000 Server, Windows 2000 Advanced Server nebo Windows NT 4.0 Server
  • Microsoft Visual Studio C#

Zápis do protokolu událostí

Protokolování událostí poskytuje standardní, centralizovanou způsob pro aplikace k zaznamenání důležitých událostí softwaru a hardwaru. Systém Windows poskytuje standardní uživatelské rozhraní pro zobrazování protokolů, Prohlížeč událostí. Pomocí EventLog součásti nástroje runtime společný jazyk, můžete snadno připojit k existující protokoly událostí v místních a vzdálených počítačích a zápis položky pro tyto protokoly. Můžete také číst položky z existující protokoly a vytváření vlastních protokolů událostí. Zápis do protokolu událostí ve své nejjednodušší podobě zahrnuje pouze několika kroky k vytvoření ukázkové aplikace. Chcete-li to provést, postupujte takto:
  1. Otevřete aplikaci Visual C#.
  2. Vytvoření nové aplikace konzoly v jazyce Visual C#. Aplikace konzoly vytvoří veřejnou třídu a prázdnou metodu Main .
  3. Ověřte, že projekt odkazuje alespoň System.dll souboru.
  4. Použijte direktivu using na systém a System.Diagnostics obory názvů, takže není nutné kvalifikovat deklarace z těchto oborů názvů později v kódu. Musíte použít tyto příkazy před všemi ostatními deklaracemi.
    using System;using System.Diagnostics;

  5. Zápis do protokolu událostí, musí mít několik kousků informace: zprávy, název protokolu, do kterého chcete zapisovat (který bude vytvořen, pokud již neexistuje) a řetězec, který představuje zdroj události. Určitého zdroje mohou registrovat se pouze na jeden protokol událostí; Pokud chcete k zápisu zprávy do více než jeden protokol, je nutné definovat více zdrojů.
    string sSource;string sLog;
    string sEvent;

    sSource = "dotNET Sample App";
    sLog = "Application";
    sEvent = "Sample Event";

  6. Použít dvě statické metody protokol událostí třídy, zkontrolujte, zda zdroj existuje a potom, pokud zdroj neexistuje, vytvořte tento zdroj, který je přidružen k určité události protokolu. Pokud zadáte název protokolu neexistuje, název vytvořen automaticky, když napíšete první položka do protokolu. Ve výchozím nastavení Pokud nezadáte název protokolu CreateEventSource metody soubor protokolu název "Aplikace".
    if (!EventLog.SourceExists(sSource))EventLog.CreateEventSource(sSource,sLog);

  7. Chcete-li napsat zprávu do protokolu událostí, můžete použít statickou metodu EventLog.WriteEntry . Tato metoda má několik různých verzí přetížené. Následující ukázkový kód ukazuje nejjednodušší metodu, která přebírá řetězec zdroje a vaše zpráva a jedna složitější metody, která podporuje určující typ události s ID události:
    EventLog.WriteEntry(sSource,sEvent);EventLog.WriteEntry(sSource, sEvent, EventLogEntryType.Warning,  234);

  8. Uložte aplikaci. Spusťte aplikaci a poté zkontrolujte protokolu aplikace v prohlížeči událostí zobrazit nové události.

Úplný výpis kódu

using System;using System.Diagnostics;

namespace WriteToAnEventLog_csharp
{
/// Summary description for Class1.
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);
}
}
}

Vlastnosti

ID článku: 307024 - Poslední kontrola: 20. 1. 2017 - Revize: 1

Váš názor