Serilog.Sinks.File和Serilog.Extensions.Logging.File有什么区别?

时间:2017-03-14 07:19:04

标签: asp.net-core serilog

asp.net core中的Serilog.Sinks.File和Serilog.Extensions.Logging.File包之间有什么区别?

当我尝试使用Serilog在asp.net核心项目中实现日志记录时,我找到了一个使用Serilog.Sinks.File的快速示例here

当我尝试在我的项目中实现相同时,记录器工厂没有扩展名AddFile()。

但是当我添加另一个扩展名Serilog.Extensions.Logging.File时,我得到了扩展名。

是否需要两个扩展程序?或者只是Logging.File扩展就足够了?

Sinks.File和Logging.File的基本区别是什么?

1 个答案:

答案 0 :(得分:2)

在您提供的链接中,示例明确使用 Serilog.Extensions.Logging.File

正是这个扩展为AddFile提供ILoggerFactory方法(通过DotNet中的扩展方法机制):

Extension of Microsoft.Extensions.Logging.IloggerFactory

快速查看Serilog.Extensions.Logging.File的Nuget package definition表示它具有依赖关系 Serilog.Sinks.RollingFile。 后一个扩展本身依赖于Serilog.Sinks.File

因此,Serilog.Extensions.Logging.File扩展ILoggerFactory,提供AddFile()方法。该方法使用RollingFile类(as seen in the source code)。