Categories & Custom loggers in .NET
.NET
You can define log levels per category (e.g., Cat, Dog) for better control.
Using ILoggerFactory
private readonly ILogger _logger;
public CatService(ILoggerFactory loggerFactory)
{
_logger = loggerFactory.CreateLogger("Cat");
}
public void FetchData()
{
_logger.LogInformation("Fetching data from Cat.....");
}Using DI with ILogger<T>
private readonly ILogger _logger;
public CatService(ILogger<CatService> logger)
{
_logger = logger;
}
public void FetchData()
{
_logger.LogInformation("Fetching data from Cat...");
}ILogger<T> uses typeof(T).FullName as the category.
Configure Categories in appsettings.json
{
"Logging": {
"LogLevel": {
"Default": "Warning",
"Microsoft": "Warning",
"Cat": "Information"
}
}
}- Category names can be any descriptive string.
- Use category-based configuration for granular logging.