我有一个简单的.NET6控制台应用程序来测试日志配置。我没有使用appsettings.json,只是构建了如下所示的记录器。
我将滤波器设置为"0";Trace";,但我只得到"信息"、"错误"one_answers"关键"。不确定我做错了什么。感谢您的帮助。
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Logging;
ILogger? logger;
ConfigureServices();
logger?.LogInformation("Information");
logger?.LogDebug("Debug");
logger?.LogTrace("Trace");
logger?.LogError("Error");
logger?.LogCritical("Critical");
await Task.Delay(1000);
void ConfigureServices()
{
string sourceName = "LoggerTest";
var loggerFactory = LoggerFactory.Create(builder =>
{
builder
.ClearProviders()
.AddFilter(sourceName, LogLevel.Trace)
.AddConsole();
});
logger = loggerFactory.CreateLogger<Program>();
logger.BeginScope(sourceName);
}
我的输出:
info: Program[0]
Information
fail: Program[0]
Error
crit: Program[0]
Critical
好吧,我想好了。有一个";SetMinimumLevel(("功能:
var loggerFactory = LoggerFactory.Create(builder =>
{
builder
.ClearProviders()
.AddFilter(sourceName, LogLevel.Trace)
.AddConsole()
.SetMinimumLevel(LogLevel.Trace);
});