gpt4 book ai didi

c# - 以松散耦合的方式公开 ILogger

转载 作者:行者123 更新时间:2023-11-30 17:49:04 25 4
gpt4 key购买 nike

我是第 3 方服务的 C# 开源包装器的作者。我需要公开一个 ILogger 工具(例如 https://logging.apache.org/log4net/release/sdk/log4net.Core.ILogger.html )来记录特定的事件和错误。

我可以继续添加一个主要的记录器,例如 Log4Net,但我不希望包装器绑定(bind)到特定的记录器。

我可以只添加一个 IoC 容器来通过构造函数依赖注入(inject)轻松解决这个问题,但我又不想让我的包装器绑定(bind)到任何特定的 IoC。

另一方面,如果我能以某种方式将日志记录事件暴露给使用它的应用程序(无论如何它是负责记录日志的应用程序),并且包装器对其消费者不可知,那就太好了。

关于如何实现这一点有什么想法吗?

最佳答案

项目通常会提供自己的抽象。捆绑了默认记录器,因此开箱即用,但您可以轻松配置日志记录提供程序,如 ServiceStack logging 中所示。和 NServiceBus logging .例如:

LogManager.LogFactory = new Log4NetFactory(true);

还有Common.Logging ,旨在解决日志记录框架依赖性问题。然而,我还没有看到它在主要的开源项目中得到广泛使用,尽管它已经存在了一段时间。

关于c# - 以松散耦合的方式公开 ILogger,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22116500/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com