System.Diagnostics.EventLog
9.0.0
Prefix Reserved
dotnet add package System.Diagnostics.EventLog --version 9.0.0
NuGet\Install-Package System.Diagnostics.EventLog -Version 9.0.0
<PackageReference Include="System.Diagnostics.EventLog" Version="9.0.0" />
paket add System.Diagnostics.EventLog --version 9.0.0
#r "nuget: System.Diagnostics.EventLog, 9.0.0"
// Install System.Diagnostics.EventLog as a Cake Addin #addin nuget:?package=System.Diagnostics.EventLog&version=9.0.0 // Install System.Diagnostics.EventLog as a Cake Tool #tool nuget:?package=System.Diagnostics.EventLog&version=9.0.0
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.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 is compatible. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 4.6.2
- System.Security.Principal.Windows (>= 5.0.0)
-
.NETStandard 2.0
- System.Security.Principal.Windows (>= 5.0.0)
-
net8.0
- No dependencies.
-
net9.0
- No dependencies.
NuGet packages (165)
Showing the top 5 NuGet packages that depend on System.Diagnostics.EventLog:
Package | Downloads |
---|---|
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. |
|
Castle.Core
Castle Core, including DynamicProxy, Logging Abstractions and DictionaryAdapter |
|
Microsoft.Extensions.Logging.EventLog
Windows Event Log logger provider implementation for Microsoft.Extensions.Logging. |
|
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 |
|
Microsoft.Windows.Compatibility
This Windows Compatibility Pack provides access to APIs that were previously available only for .NET Framework. It can be used from both .NET as well as .NET Standard. |
GitHub repositories (37)
Showing the top 5 popular GitHub repositories that depend on System.Diagnostics.EventLog:
Repository | Stars |
---|---|
microsoft/PowerToys
Windows system utilities to maximize productivity
|
|
PowerShell/PowerShell
PowerShell for every system!
|
|
mRemoteNG/mRemoteNG
mRemoteNG is the next generation of mRemote, open source, tabbed, multi-protocol, remote connections manager.
|
|
dotnet/wpf
WPF is a .NET Core UI framework for building Windows desktop applications.
|
|
NLog/NLog
NLog - Advanced and Structured Logging for Various .NET Platforms
|