在Visual Studio 2017的调试窗口中显示NLog(或内置调试器)记录的内容是否可能?
我已将NLog设置为输出到文件,但在开发过程中,能够在调试窗口中查看调试消息将非常方便。我可以看到有关如何在控制台上执行此操作的文章,但对于asp.net项目,没有任何控制台输出,只有调试窗口。
在Visual Studio 2017的调试窗口中显示NLog(或内置调试器)记录的内容是否可能?
我已将NLog设置为输出到文件,但在开发过程中,能够在调试窗口中查看调试消息将非常方便。我可以看到有关如何在控制台上执行此操作的文章,但对于asp.net项目,没有任何控制台输出,只有调试窗口。
OutputDebugString
-target(NetCore支持)。
https://github.com/NLog/NLog/wiki/OutputDebugString-target
示例:<targets>
<target name="debugger" xsi:type="OutputDebugString" layout="${logger}::${message}"/>
</targets>
<rules>
<logger name="*" minlevel="Trace" writeTo="debugger" />
</rules>
您可以使用替代方案 xsi:type="debugger"
:
对于Asp.Net Core,有内置的日志记录器提供程序,如Console
和Debug
,用于将日志写入Output Window
。
如果您使用WebHost.CreateDefaultBuilder(args)
,它将使用内置提供程序Console
和Debug
,您可以通过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();