如何使用 ASP.Net vNext/5 登录到输出 window

How log to the Output window with ASP.Net vNext/5

使用 Visual Studio 2015 RC 和 ASP.Net vNext/5 beta4。 我想在调试时将日志记录输出到 Visual Studio 中的输出 Window,或者如果可能的话,在使用 WebListener 时输出到托管站点的控制台 window。我的 Web 项目是基于 Web 应用程序开箱即用的标准模板构建的,因此其中包含大部分默认内容。

在我的 Startup 中,我有通常的默认值

loggerfactory.AddConsole();  

在我的控制器中,我注入了 ILoggerFactory 并做了类似的事情;

this.logger = loggerFactory.CreateLogger<ThingClass>();
this.logger.LogVerbose("Verbose");
this.logger.LogInformation("Info");
this.logger.LogError("error");

None 被写到 Debug window 或其他地方 - 我不太确定 AddConsole() 应该在这里实现什么?

然后我尝试将 Microsoft.Framework.Logging.TraceSource 添加到 project.json

loggerfactory.AddTraceSource(new SourceSwitch("web-app", "Verbose"), new DefaultTraceListener());

Startup。这确实有效 - 除了现在每条日志消息都会 两次 写入控制台,这很烦人。

我显然遗漏了一些基本的东西,但找不到关于新 Microsoft.Framework.Logging 的任何文档。事实上,我能够找到的最全面、最深入的文档是 Nicholas Blumhardt 的短文:http://nblumhardt.com/2015/05/diagnostic-logging-in-dnx-asp-net-5/.

确实明白这个框架应该只是一个包装器,我可以实现我自己的提供者,也可以使用一系列框架,比如Serilog等。但是.. . 对于一个简单的应用程序,我当然应该能够在 VS 中登录调试 window 而无需很多仪式?

我们将在 beta6 中添加调试记录器 https://github.com/aspnet/Logging/tree/dev/src/Microsoft.Framework.Logging.Debug

更新: https://www.nuget.org/packages/Microsoft.Extensions.Logging.Debug/1.0.0-rc1-final