所以我Startup.cs
默认情况下是这样的:
loggerFactory.AddConsole(Configuration.GetSection("Logging"));
loggerFactory.AddDebug();
我如何看到loggerFactory
正在添加的控制台?我可以在“调试输出”窗口中看到日志记录信息,但是它与其余的自动调试信息非常混乱并且很难找到。
有没有一种方法可以查看记录器控制台,如果没有,则可以显示仅在“输出”中登录的信息?
实现此目的的一种方法是实现您自己的ILoggerFactory和ILogger类的实现。IE
public class MyLoggerFactory : ILoggerFactory {...}
public class MyConsoleLogger : ILogger {...}
您可以查看Microsoft内置日志记录的实现,并根据需要基于这些实现创建自己的实现:https : //github.com/aspnet/Logging/tree/dev/src/Microsoft.Extensions.Logging
这将使您可以覆盖默认的Log方法,甚至可以创建自己的覆盖,将该覆盖标识为用户记录的日志还是系统记录的日志,或您从中需要的身份。
一旦有了自己的实现,就可以像下面这样注册:
//Register logging
var loggerConfig = Configuration.GetValue("Logging", new MyLoggingConfig());
var loggerFactory = new MyLoggerFactory(loggerConfig);
services.AddSingleton(typeof(ILoggerFactory), loggerFactory);
services.AddLogging();
我已经在我的一个测试项目中做到了这一点,对我们来说效果很好。您还可以根据需要创建其他日志记录实现,即数据库记录器
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句