使用 Visual Studio 2015 RC 和 ASP.Net vNext/5 beta4。 我想在调试时将日志记录输出到 Visual Studio 中的输出窗口,或者如果可能的话,在使用 WebListener 时输出到托管站点的控制台窗口。我的 Web 项目是基于 Web 应用程序开箱即用的标准模板构建的,因此其中包含大部分默认内容。
在我的 Startup
中,我有通常的默认值
loggerfactory.AddConsole();
在我的 Controller 中,我注入(inject)了 ILoggerFactory 并做了类似的事情;
this.logger = loggerFactory.CreateLogger<ThingClass>();
this.logger.LogVerbose("Verbose");
this.logger.LogInformation("Info");
this.logger.LogError("error");
这些都没有写到调试窗口或其他地方 - 我不太确定 AddConsole()
在这里应该实现什么?
然后我尝试将 Microsoft.Framework.Logging.TraceSource
添加到 project.json
和
loggerfactory.AddTraceSource(new SourceSwitch("web-app", "Verbose"), new DefaultTraceListener());
到启动
。这确实有效 - 除了现在每条日志消息都被写入控制台两次,这很烦人。
我显然在这里遗漏了一些基本的东西,但找不到关于新的 Microsoft.Framework.Logging 的任何文档。事实上,我能够找到的最全面、最深入的文档是 Nicholas Blumhardt 的短文:http://nblumhardt.com/2015/05/diagnostic-logging-in-dnx-asp-net-5/ .
我确实明白这个框架应该只是一个包装器,我可以实现我自己的提供者,也可以使用一系列框架,比如 Serilog 等。但是......对于一个简单的应用程序当然我应该能够在 VS 中登录到调试窗口而无需太多仪式?
最佳答案
我们在 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
关于c# - 如何使用 ASP.Net vNext/5 登录到输出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30428471/