System.Diagnostics.EventLog 8.0.0-rc.2.23479.6
About
This package provides types that allow applications to interact with the Windows Event Log service.
When an error occurs in a Windows machine, the system administrator or support representative must determine what caused the error, attempt to recover any lost data, and prevent the error from recurring. It is helpful if applications, the operating system, and other system services record important events, such as low-memory conditions or excessive attempts to access a disk. The system administrator can then use the Windows Event Log to help determine what conditions caused the error and identify the context in which it occurred.
Key Features
- Allows reading from existing logs.
- Allows writing entries to logs.
- Can create or delete event sources.
- Can delete logs.
- Can respond to log entries.
- Can create new logs when creating an event source.
How to Use
if(!EventLog.SourceExists("MySource"))
{
// An event log source should not be created and immediately used.
// There is a latency time to enable the source, it should be created
// prior to executing the application that uses the source.
// Execute this sample a second time to use the new source.
EventLog.CreateEventSource("MySource", "MyNewLog");
Console.WriteLine("Event source created. Exiting, execute the application a second time to use the source.");
// The source is created. Exit the application to allow it to be registered.
return;
}
EventLog myLog = new();
myLog.Source = "MySource";
myLog.WriteEntry("Writing an informational entry to the event log.");
Notes:
- This assembly is only supported on Windows operating systems.
- Starting with Windows Vista, you must run the application as an administrator to interact with the Windows Event Log service using the
System.Diagnostics.EventLog
class.
Main Types
The main types provided by this library are:
Under the System.Diagnostics
namespace, the main types are:
System.Diagnostics.EventLog
System.Diagnostics.EventLogEntry
System.Diagnostics.EventLogEntryCollection
System.Diagnostics.EventLogEntryType
Under the System.Diagnostics.Eventing.Reader
namespace, the main types are:
System.Diagnostics.Eventing.Reader.EventLogQuery
System.Diagnostics.Eventing.Reader.EventLogReader
System.Diagnostics.Eventing.Reader.EventLogRecord
System.Diagnostics.Eventing.Reader.EventLogSession
System.Diagnostics.Eventing.Reader.EventLogType
System.Diagnostics.Eventing.Reader.EventRecord
Additional Documentation
- Microsoft Learn - System.Diagnostics.EventLog API reference
- Windows App Development - Event logging
- GitHub - Source code
Related Packages
Feedback & Contributing
System.Diagnostics.EventLog is released as open source under the MIT license. Bug reports and contributions are welcome at the GitHub repository.
Showing the top 20 packages that depend on System.Diagnostics.EventLog.
Packages | Downloads |
---|---|
System.ServiceProcess.ServiceController
Provides the System.ServiceProcess.ServiceContainer class, which allows you to connect to a running or stopped service, manipulate it, or get information about it.
Commonly Used Types:
System.ServiceProcess.ServiceController
System.ServiceProcess.ServiceControllerStatus
System.ServiceProcess.ServiceType
When using NuGet 3.x this package requires at least version 3.4.
|
49 |
TaskScheduler
Provides a single assembly wrapper for the 1.0 and 2.0 versions of Task Scheduler found in all Microsoft operating systems post Windows 98. It simplifies the coding, aggregates the multiple versions and allows for localization support.
|
46 |
System.ServiceProcess.ServiceController
Provides the System.ServiceProcess.ServiceContainer class, which allows you to connect to a running or stopped service, manipulate it, or get information about it.
Commonly Used Types:
System.ServiceProcess.ServiceController
System.ServiceProcess.ServiceControllerStatus
System.ServiceProcess.ServiceType
When using NuGet 3.x this package requires at least version 3.4.
|
44 |
TaskScheduler
Provides a single assembly wrapper for the 1.0 and 2.0 versions of Task Scheduler found in all Microsoft operating systems post Windows 98. It simplifies the coding, aggregates the multiple versions and allows for localization support.
|
39 |
System.ServiceProcess.ServiceController
Provides the System.ServiceProcess.ServiceContainer class, which allows you to connect to a running or stopped service, manipulate it, or get information about it.
Commonly Used Types:
System.ServiceProcess.ServiceController
System.ServiceProcess.ServiceControllerStatus
System.ServiceProcess.ServiceType
|
39 |
System.ServiceProcess.ServiceController
Provides the System.ServiceProcess.ServiceController class, which allows you to connect to a Windows service, manipulate it, or get information about it.
Commonly Used Types:
System.ServiceProcess.ServiceController
System.ServiceProcess.ServiceControllerStatus
System.ServiceProcess.ServiceType
|
36 |
System.ServiceProcess.ServiceController
Provides the System.ServiceProcess.ServiceContainer class, which allows you to connect to a running or stopped service, manipulate it, or get information about it.
Commonly Used Types:
System.ServiceProcess.ServiceController
System.ServiceProcess.ServiceControllerStatus
System.ServiceProcess.ServiceType
|
36 |
System.ServiceProcess.ServiceController
Provides the System.ServiceProcess.ServiceContainer class, which allows you to connect to a running or stopped service, manipulate it, or get information about it.
Commonly Used Types:
System.ServiceProcess.ServiceController
System.ServiceProcess.ServiceControllerStatus
System.ServiceProcess.ServiceType
|
35 |
Microsoft.Extensions.Logging.EventLog
Windows Event Log logger provider implementation for Microsoft.Extensions.Logging.
|
35 |
System.Configuration.ConfigurationManager
Provides types that support using XML configuration files (app.config). This package exists only to support migrating existing .NET Framework code that already uses System.Configuration. When writing new code, use another configuration system instead, such as Microsoft.Extensions.Configuration.
|
34 |
TaskScheduler
Provides a single assembly wrapper for the 1.0 and 2.0 versions of Task Scheduler found in all Microsoft operating systems post Windows 98. It simplifies the coding, aggregates the multiple versions and allows for localization support.
|
34 |
System.ServiceProcess.ServiceController
Provides the System.ServiceProcess.ServiceController class, which allows you to connect to a Windows service, manipulate it, or get information about it.
Commonly Used Types:
System.ServiceProcess.ServiceController
System.ServiceProcess.ServiceControllerStatus
System.ServiceProcess.ServiceType
|
33 |
System.Configuration.ConfigurationManager
Provides types that support using XML configuration files (app.config). This package exists only to support migrating existing .NET Framework code that already uses System.Configuration. When writing new code, use another configuration system instead, such as Microsoft.Extensions.Configuration.
|
33 |
System.ServiceProcess.ServiceController
Provides the System.ServiceProcess.ServiceContainer class, which allows you to connect to a running or stopped service, manipulate it, or get information about it.
Commonly Used Types:
System.ServiceProcess.ServiceController
System.ServiceProcess.ServiceControllerStatus
System.ServiceProcess.ServiceType
When using NuGet 3.x this package requires at least version 3.4.
|
32 |
TaskScheduler
Provides a single assembly wrapper for the 1.0 and 2.0 versions of Task Scheduler found in all Microsoft operating systems post Windows 98. It simplifies the coding, aggregates the multiple versions and allows for localization support.
|
31 |
System.ServiceProcess.ServiceController
Provides the System.ServiceProcess.ServiceContainer class, which allows you to connect to a running or stopped service, manipulate it, or get information about it.
Commonly Used Types:
System.ServiceProcess.ServiceController
System.ServiceProcess.ServiceControllerStatus
System.ServiceProcess.ServiceType
|
30 |
System.Configuration.ConfigurationManager
Provides types that support using XML configuration files (app.config). This package exists only to support migrating existing .NET Framework code that already uses System.Configuration. When writing new code, use another configuration system instead, such as Microsoft.Extensions.Configuration.
|
29 |
System.ServiceProcess.ServiceController
Provides the System.ServiceProcess.ServiceContainer class, which allows you to connect to a running or stopped service, manipulate it, or get information about it.
Commonly Used Types:
System.ServiceProcess.ServiceController
System.ServiceProcess.ServiceControllerStatus
System.ServiceProcess.ServiceType
|
28 |
.NET Framework 4.6.2
- System.Security.Principal.Windows (>= 5.0.0)
.NET 6.0
- No dependencies.
.NET 7.0
- No dependencies.
.NET 8.0
- No dependencies.
.NET Standard 2.0
- System.Security.Principal.Windows (>= 5.0.0)