Daa*_*ath 6 c# asp.net asp.net-mvc logging asp.net-core
所以我在Startup.cs默认情况下有这个:
loggerFactory.AddConsole(Configuration.GetSection("Logging"));
loggerFactory.AddDebug();
Run Code Online (Sandbox Code Playgroud)
如何查看loggerFactory正在添加的控制台?我可以在Debug输出窗口中看到日志信息,但它与其他自动调试信息非常混乱,很难找到.
有没有办法查看记录器控制台,或者如果没有,显示只有我登录输出的信息的方法?
实现此目的的一种方法是实现您自己的 ILoggerFactory 和 ILogger 类的实现。IE
public class MyLoggerFactory : ILoggerFactory {...}
public class MyConsoleLogger : ILogger {...}
Run Code Online (Sandbox Code Playgroud)
您可以查看 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();
Run Code Online (Sandbox Code Playgroud)
我在我的一个测试项目中做到了这一点,它对我们来说效果很好。如果需要,您还可以创建其他日志记录实现,即数据库记录器
| 归档时间: |
|
| 查看次数: |
6433 次 |
| 最近记录: |