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的基本区别是什么?
答案 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)。