TraceSource logger provider implementation for Microsoft.Extensions.Logging. This logger logs messages to a trace listener by writing messages with System.Diagnostics.TraceSource.TraceEvent().
Install
| Product | Versions |
|---|---|
| .NET | |
| .NET Standard | |
| Other |
README
About
Implements a trace logger provider for the .NET logging infrastructre facilitating enhanced logging capabilities and trace-level diagnostics in application by writing messages to a trace listener using System.Diagnostic.TraceSource.
Key Features
- Seamless integration with .NET logging infrastructure.
- Fine-grained control over trace messages using SourceSwitch.
- A set of builder methods to configure logging infrastructure.
How to Use
The Microsoft.Extensions.Logging.TraceSource library provides extension methods to the logger factory and the logger builder to add a trace source with trace listeners.
using System.Diagnostics;
using Microsoft.Extensions.Logging;
using var consoleTraceListener = new ConsoleTraceListener();
using var textWriterTraceListener = new TextWriterTraceListener("/traces.txt");
using var loggerFactory = LoggerFactory.Create(builder =>
{
builder
.AddTraceSource(new SourceSwitch("Something") { Level = SourceLevels.All }, consoleTraceListener)
.AddTraceSource(new SourceSwitch("HouseKeeping") { Level = SourceLevels.All }, textWriterTraceListener);
});
var logger = loggerFactory.CreateLogger<Program>();
logger.LogInformation("Information message.");
// Program Information: 0 : Information message.
logger.LogWarning("Warning message.");
// Program Warning: 0 : Warning message.
var traceSource = new TraceSource("HouseKeeping", SourceLevels.All);
traceSource.Listeners.Add(consoleTraceListener);
traceSource.Listeners.Add(textWriterTraceListener);
traceSource.TraceEvent(TraceEventType.Error, 0, "Error message.");
//HouseKeeping Error: 0 : Error message.
Main Types
The main types provided by this library are:
Microsoft.Extensions.Logging.TraceSource.TraceSourceLoggerProvider
Additional Documentation
Related Packages
- Abstractions for dependency injection: Microsoft.Extensions.DependencyInjection.Abstractions
- Default implementation of logging infrastructure: Microsoft.Extensions.Logging
- Abstractions for logging: Microsoft.Extensions.Logging.Abstractions
Feedback & Contributing
Microsoft.Extensions.Logging.TraceSource is released as open source under the MIT license. Bug reports and contributions are welcome at the GitHub repository.
Changes from Previous Version
Adoption Assessment
A verified publisher signal is available. Assess fit from the package's supported frameworks, license and dependency graph rather than popularity alone.
Related Guides & Workflows
Learn how to evaluate, integrate, or audit this package in your .NET project.