2

我计划稍后在我的应用程序中实现 log4net,但目前不可能。将有向新技术的软迁移,但这需要时间。因此我必须使用专有的日志机制。

但是当我实现新功能时,我希望为以后的迁移做好准备。所以我想有一个自己的类来实现 ILog 接口,这样我以后就可以切换到 log4net 而无需更改新功能。此类当前将映射到专有日志机制,稍后将过时。

我的问题是:由于我的项目中没有 log4net 程序集,但我没有 ILog 接口。当我创建自己的 ILog 接口时,它具有完全相同的方法和签名,以后交换时是否兼容?

4

3 回答 3

2

它不会兼容。但是为实现您的ILog接口的 log4net 创建一个瘦包装器将是微不足道的。

于 2013-05-22T08:37:51.947 回答
1

我会定义自己的记录器接口,类似于 log4net,但可能更专业一些。然后我会将接口实现为专有记录器。当需要迁移到 log4net 时,我会编写一个新的实现——一个 log4net 包装器。

于 2013-05-22T08:39:05.520 回答
1

如果您定义的接口不仅与在 log4net 程序集中定义的接口相同,而且在相同的命名空间中定义,它将是兼容的。当你开始使用 log4net - 只需删除这个自己的接口声明(及其实现)

于 2013-05-22T08:46:40.580 回答