寻找通用日志记录接口以在 NuGet 包中创建通用日志记录

Looking for common logging interface to create generic logging in a NuGet package

我查看了Common.Logging Nuget 包,最新版本支持.NET Core 1。我目前正在使用 .NET Core 3。因此,我正在寻找建议,使用 Common.Logging NuGet 包是否仍然是个好主意,或者是否还有其他我应该探索的替代方法。

我正在写一个 NuGet 包,其中一个要求是它可以接受任何日志记录对象,主要是 Log4Net 或 NLog 对象,并根据它们的配置记录所有内容,这些配置将从父项目传入。

我觉得还是挺安全的。 https://www.nuget.org/packages/Common.Logging.Core/3.4.1 适用于 .net standard 1.0,似乎不需要更新。

此外,根据此请求https://github.com/net-commons/common-logging/issues/148,该项目仍处于活动状态,并计划在未来提供支持。

从这个问题 Are there any alternatives to Common.Logging? 看来,似乎没有其他有效的替代方案,只能使用它,或者寻求自定义外观实现。

我的建议是您不要重新发明轮子并使用 Microsoft 带来的 Microsoft.Extensions.Logging 库来从一个点管理日志记录提供程序。

您已经为 NLog and Log4Net 提供了一些第三方连接器,可以简化登录多个提供程序的方式,只需在启动级别注册每个提供程序即可。