【发布时间】:2010-11-15 12:36:28
【问题描述】:
我正在尝试删除一些日志记录依赖项,并偶然发现了 Castle Windsor 的日志记录工具。但是,我有点怀疑我是否应该使用它。
public class MyClass
{
public Castle.Core.Logging.ILogger Logger { get; set; }
...
}
Windsor 的日志记录工具要求您将记录器作为属性公开。这真的是一个好习惯吗?我觉得我几乎要打破封装,因为通常当我重用一个组件时,我不关心它的日志记录机制,我通常不希望看到它暴露。
如果我使用使用静态类来创建日志的自定义包装器,我可以将其保密。例如:
public class MyClass
{
private static MyCustomWrapper.ILogger Logger = LogManager.GetLogger(typeof(MyClass));
...
}
我已经在网上搜索了我应该使用日志记录工具的原因,但我只找到关于如何使用它的文章,而不是 为什么我应该使用它。我觉得我错过了重点。暴露日志组件有点让我害怕。
【问题讨论】:
标签: inversion-of-control castle-windsor