Csharp/C Sharp/Windows/Event Log
Содержание
Check Event Source Existance and Create Event Source
<source lang="csharp">
using System; using System.Diagnostics; class MainClass {
public static void Main() { if (!EventLog.SourceExists("C#")) { EventLog.CreateEventSource("C#", "Application"); } EventLog.WriteEntry( "C#", // Registered event source "A simple test event.", // Event entry message EventLogEntryType.Information, // Event type 1, // Application-specific ID 0, // Application-specific category new byte[] { 10, 55, 200 } // Event data ); }
}
</source>
Get first 5 message from system event log
<source lang="csharp">
using System; using System.Resources; using System.Drawing; using System.Collections; using System.Windows.Forms; using System.Resources; using Microsoft.Win32; // For event log. using System.Diagnostics; class Test { static void Main(string[] args) { EventLog log = new EventLog(); log.Log = "Application"; log.Source = "www.nfex.ru"; log.WriteEntry("message from my own exa,ple..."); // Display the first 5 entries in the Application log. for(int i = 0; i < 5; i++) { Console.WriteLine("Message: " + log.Entries[i].Message + "\n" + "Box: " + log.Entries[i].MachineName + "\n" + "App: " + log.Entries[i].Source + "\n" + "Time entered: " + log.Entries[i].TimeWritten, "Application Log entry:"); } log.Close(); } } </source>
Removes the registration for an event source if it has been registered
<source lang="csharp"> /* C# Programming Tips & Techniques by Charles Wright, Kris Jamsa Publisher: Osborne/McGraw-Hill (December 28, 2001) ISBN: 0072193794
- /
// RemSrc.cs -- Removes the registration for an event source if // it has been registered. // // Compile this program with the following command line: // C:>csc RemSrc.cs using System; using System.Diagnostics; namespace nsEventLogs {
public class RemSrc { static public void Main (string [] args) { if (args.Length == 0) { Console.WriteLine ("Please enter an event source to remove."); Console.WriteLine ("Usage: RemSrc [source]"); return; } if (EventLog.SourceExists (args[0])) { Console.WriteLine ("Deleting event log source " + args[0]); EventLog.DeleteEventSource (args[0]); } } }
}
</source>
Specify EventLogEntryType
<source lang="csharp">
using System; using System.Diagnostics; class MainClass {
public static void Main() { if (!EventLog.SourceExists("C#")) { EventLog.CreateEventSource("C#", "Application"); } EventLog.WriteEntry( "C#", // Registered event source "A simple test event.", // Event entry message EventLogEntryType.Information, // Event type 1, // Application-specific ID 0, // Application-specific category new byte[] { 10, 55, 200 } // Event data ); }
}
</source>
Write Message to system event log
<source lang="csharp">
using System; using System.Resources; using System.Drawing; using System.Collections; using System.Windows.Forms; using System.Resources; using Microsoft.Win32; // For event log. using System.Diagnostics; class Test { static void Main(string[] args) { EventLog log = new EventLog(); log.Log = "Application"; log.Source = "www.nfex.ru"; log.WriteEntry("message from my own exa,ple..."); // Display the first 5 entries in the Application log. for(int i = 0; i < 5; i++) { Console.WriteLine("Message: " + log.Entries[i].Message + "\n" + "Box: " + log.Entries[i].MachineName + "\n" + "App: " + log.Entries[i].Source + "\n" + "Time entered: " + log.Entries[i].TimeWritten, "Application Log entry:"); } log.Close(); } } </source>
Write the Event Log Entry type as Information
<source lang="csharp">
using System;
using System.Diagnostics;
class MainClass {
public static void Main() { string source = "EventSource"; string log = "MainClass.LOG"; EventLog el = new EventLog(); if (!EventLog.SourceExists(source)) { EventLog.CreateEventSource(source, log); } el.Source = source; String message = "Starting Up"; el.WriteEntry(message, EventLogEntryType.Information); message = "Processing"; el.WriteEntry(message, EventLogEntryType.Information); message = "Shutting down"; el.WriteEntry(message, EventLogEntryType.Information); el = new EventLog(); if (!EventLog.SourceExists(source)) { Console.WriteLine("Event Log does not exist!"); return; } el.Source = source; foreach (EventLogEntry entry in el.Entries) { Console.WriteLine("\tEntry: " + entry.Message); } EventLog.Delete(log); }
}
</source>