如何使用ASP.Net vNext/5登录到Output窗口

Fra*_*ans 12 c# logging visual-studio-2015 asp.net-core

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

在我,Startup我有通常的默认

loggerfactory.AddConsole();  
Run Code Online (Sandbox Code Playgroud)

在我的控制器中,我注入ILoggerFactory并执行类似的操作;

this.logger = loggerFactory.CreateLogger<ThingClass>();
this.logger.LogVerbose("Verbose");
this.logger.LogInformation("Info");
this.logger.LogError("error");
Run Code Online (Sandbox Code Playgroud)

这些都没有写到调试窗口或其他地方 - 我不确定AddConsole()应该在这里实现什么?

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

loggerfactory.AddTraceSource(new SourceSwitch("web-app", "Verbose"), new DefaultTraceListener());
Run Code Online (Sandbox Code Playgroud)

到Startup.这实际上有效 - 除了现在每个日志消息都被写入控制台两次,这是相当烦人的.

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

我确实理解框架应该只是一个包装器,我可以实现我自己的提供程序以及使用一系列框架,如Serilog等.但是...对于一个简单的应用程序肯定我应该能够登录到调试在没有很多仪式的VS窗口?