将Serilog与Microsoft.Extensions.Logging.ILogger一起使用。

问题描述 投票:0回答:1

我使用Host创建了一个.NET Core 3.1项目,IoC容器与 IServiceCollection 并实现了各地的日志记录,使用的是 ILogger<T> 介面 Microsoft.Extensions.Logging. 我现在需要实现更高级的日志记录,于是决定使用Serilog。

我有点以为从.NET内置的日志记录器切换到Serilog会很轻松。但令我惊讶的是,Serilog使用的是它自己的 ILogger 接口-----------------------无赖 所以现在我需要更新所有使用Serilog的地方。ILogger或用.NET Core实现Serilog。ILogger<T> 接口。

我的问题是--是否真的不能在Serilog中使用ILogger接口?Microsoft.Extensions.Logging? 会聪明多了!

c# logging .net-core serilog ilogger
1个回答
2
投票

Serilog.Extensions.Logging 集合体上有一个扩展方法 IloggingBuilder 叫做 AddSerilog (它在Serilog命名空间中),将允许你使用Serilog进行日志记录。比如说

WebHost.CreateDefaultBuilder(args)
       .ConfigureLogging(logging =>
       {
         logging.ClearProviders();
         logging.AddSerilog();
       });

现在... ILoggerILogger<> 实现将调用到Serilog。

© www.soinside.com 2019 - 2024. All rights reserved.