在ASP.NET Core应用程序的调试窗口中显示NLog输出

4

在Visual Studio 2017的调试窗口中显示NLog(或内置调试器)记录的内容是否可能?

我已将NLog设置为输出到文件,但在开发过程中,能够在调试窗口中查看调试消息将非常方便。我可以看到有关如何在控制台上执行此操作的文章,但对于asp.net项目,没有任何控制台输出,只有调试窗口。

2个回答

5

1

对于Asp.Net Core,有内置的日志记录器提供程序,如ConsoleDebug,用于将日志写入Output Window

如果您使用WebHost.CreateDefaultBuilder(args),它将使用内置提供程序ConsoleDebug,您可以通过Output window-> Asp.NET Core Web Server检查输出结果。

对于ASP.NET Core 2入门中的NLog,它使用以下代码清除所有其他日志提供程序。

public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
    .UseStartup<Startup>()
    .ConfigureLogging(logging =>
    {
        logging.ClearProviders();
        logging.SetMinimumLevel(Microsoft.Extensions.Logging.LogLevel.Trace);
    })
    .UseNLog()  // NLog: setup NLog for Dependency injection
    .Build();

如果您需要在Debug窗口中输出日志,可以按照以下代码进行修改:

        public static IWebHost BuildWebHost(string[] args) =>
        WebHost.CreateDefaultBuilder(args)
            .UseStartup<Startup>()
            .ConfigureLogging(logger => {
                logger.AddNLog();
                //logger.AddConsole(); //UnComment out this line if you did not use CreateDefaultBuilder
            })
            .Build();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接