C# 如何使用Microsoft.Extensions.logging配置和查看日志记录

C# 如何使用Microsoft.Extensions.logging配置和查看日志记录,c#,logging,C#,Logging,我正在将我的C#Net Core 3.1应用程序从log4net移植到Microsoft.Extensions.Logging。更新代码的过程出人意料地顺利,因此我能够像以前一样构建和运行应用程序。但是,我根本不知道如何查看任何日志输出!我将Microsoft.Extensions.Logging 3.1.3作为包依赖项 例如,我可以使用dotnet run从控制台运行应用程序,但无法在控制台中显示任何日志记录。我已经尝试了很多这样的代码: ILoggerFactory loggerFactor

我正在将我的C#Net Core 3.1应用程序从log4net移植到Microsoft.Extensions.Logging。更新代码的过程出人意料地顺利,因此我能够像以前一样构建和运行应用程序。但是,我根本不知道如何查看任何日志输出!我将Microsoft.Extensions.Logging 3.1.3作为包依赖项

例如,我可以使用dotnet run从控制台运行应用程序,但无法在控制台中显示任何日志记录。我已经尝试了很多这样的代码:

ILoggerFactory loggerFactory = LoggerFactory.Create(builder => builder
    .AddFilter("Microsoft", LogLevel.Debug)
    .AddFilter("System", LogLevel.Debug)
    .AddFilter("Namespace.Class", LogLevel.Debug)
    .AddConsole()
);
ILogger logger = loggerFactory.CreateLogger("Namespace.Class");
logger.LogError("This is an error message.");
logger.LogInformation("This is an information message.");
logger.LogDebug("This is a debug message.");

但是,我在控制台中没有看到任何日志输出。我也想将日志发送到一个文件,但也无法解决如何做到这一点。任何能让我开始的指导都是受欢迎的。

按照回答我自己问题的传统,我希望它能帮助其他有同样问题的人,我解决了这个问题


我正在使用Visual Studio Community 2019,我的应用程序设置为Windows应用程序。这意味着控制台输出不会直接进入我认为的控制台!我将项目的输出类型更改为Console应用程序,现在我确实可以通过Visual Studio的调试窗口看到日志输出,如果我按照回答自己问题的传统使用dotnet run运行应用程序,希望它能帮助其他有同样问题的人,我就解决了这个问题


我正在使用Visual Studio Community 2019,我的应用程序设置为Windows应用程序。这意味着控制台输出不会直接进入我认为的控制台!我将项目的输出类型更改为Console应用程序,现在我确实可以通过Visual Studio的调试窗口看到日志输出,如果我使用dotnet run运行应用程序,删除过滤器是否会改变行为?很遗憾,不会,但感谢您的建议!移除过滤器会改变行为吗?不幸的是不会,但是谢谢你的建议!