C# 如何在ASP.NET Core 1.0中为web应用显示LoggerFactory日志控制台?

C# 如何在ASP.NET Core 1.0中为web应用显示LoggerFactory日志控制台?,c#,asp.net,asp.net-mvc,logging,asp.net-core,C#,Asp.net,Asp.net Mvc,Logging,Asp.net Core,因此,默认情况下,我在我的Startup.cs中有: loggerFactory.AddConsole(Configuration.GetSection("Logging")); loggerFactory.AddDebug(); 如何查看loggerFactory正在添加的控制台?我可以在调试输出窗口中看到日志信息,但它与其他自动调试信息非常混淆,很难找到 是否有查看记录器控制台的方法?如果没有,是否有显示只有我登录输出的信息的方法?实现这一点的一种方法是实现您自己的ILogger Fact

因此,默认情况下,我在我的
Startup.cs
中有:

loggerFactory.AddConsole(Configuration.GetSection("Logging"));
loggerFactory.AddDebug();
如何查看
loggerFactory
正在添加的控制台?我可以在调试输出窗口中看到日志信息,但它与其他自动调试信息非常混淆,很难找到


是否有查看记录器控制台的方法?如果没有,是否有显示只有我登录输出的信息的方法?

实现这一点的一种方法是实现您自己的ILogger Factory和ILogger类实现。i、 e

public class MyLoggerFactory : ILoggerFactory {...}
public class MyConsoleLogger : ILogger {...}
您可以查看Microsoft内置日志的实现,并根据需要创建自己的日志:

这将允许您覆盖默认的日志方法,甚至创建您自己的覆盖,将其标识为用户日志与系统日志或您需要的任何内容

一旦有了自己的实现,您就可以按如下方式注册它:

//Register logging
var loggerConfig = Configuration.GetValue("Logging", new MyLoggingConfig());

var loggerFactory = new MyLoggerFactory(loggerConfig);
services.AddSingleton(typeof(ILoggerFactory), loggerFactory);
services.AddLogging();

我已经在我的一个测试项目中完成了这项工作,它对我们很有效。如果需要,您还可以创建其他日志记录实现,即数据库记录器,以便在调试窗口中显示框架生成的较少混乱。您可以选择记录哪些方面

特别是我关闭了“模块加载消息”,因为这是大部分消息(在VS 2015中)。另外,“线程退出消息”是考虑关闭的另一个。

工具->选项->调试->输出窗口: