未捕获 C# 调试和跟踪日志

C# Debug and Trace Logs Not Being Captured

我有一个简单的 .NET6 控制台应用程序来测试日志记录配置。我没有使用 appsettings.json - 只是构建记录器,如下所示。

我将过滤器设置为“跟踪”,但我只得到信息、错误和关键。不知道我做错了什么。感谢帮助。

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);
    });