Section 3 of 6
Built-in Providers
🎯 What You'll Learn
- What are logging providers
- Console provider
- Debug provider
- EventSource provider
- EventLog provider (Windows)
- Configuring providers
What are Logging Providers?
Logging providers determine where logs are written (console, file, database, etc.). ASP.NET Core includes several built-in providers.
Built-in Providers
1. Console Provider
Writes logs to the console.
Add Console Logging
C#
builder.Logging.AddConsole();
2. Debug Provider
Writes logs to the debug output window.
Add Debug Logging
C#
builder.Logging.AddDebug();
3. EventSource Provider
Writes logs using EventSource for ETW (Event Tracing for Windows).
Add EventSource Logging
C#
builder.Logging.AddEventSourceLogger();
4. EventLog Provider (Windows)
Writes logs to Windows Event Log.
Install Package
Bash
dotnet add package Microsoft.Extensions.Logging.EventLog
Add EventLog Logging
C#
builder.Logging.AddEventLog();
Default Configuration
ASP.NET Core templates include Console and Debug providers by default.
Program.cs (Default)
C#
var builder = WebApplication.CreateBuilder(args);
// Console and Debug providers are added by default
Clearing and Adding Providers
Clear and Add Custom Providers
C#
builder.Logging.ClearProviders(); // Remove all default providers
builder.Logging.AddConsole();
builder.Logging.AddDebug();
Provider-Specific Configuration
appsettings.json
JSON
{
"Logging": {
"LogLevel": {
"Default": "Information"
},
"Console": {
"LogLevel": {
"Default": "Debug"
}
},
"Debug": {
"LogLevel": {
"Default": "Trace"
}
}
}
}
Key Takeaways
- Providers: Determine where logs are written
- Console: Writes to console (default)
- Debug: Writes to debug output (default)
- EventSource: ETW tracing
- EventLog: Windows Event Log
- ClearProviders(): Remove default providers
- Configure: Per-provider log levels in appsettings.json