温莎城堡:消费者的组成部分?

时间:2012-05-21 12:26:37

标签: c# .net asp.net-mvc inversion-of-control castle-windsor

我正在项目中使用ASP.NET MVC,Castle Windsor和Log4Net。

我的记录组件中有这样的东西:

public class Log4NetLoggerService : ILoggerService
{
    private readonly ILog _logger;

    public Log4NetLoggerService()
    {
        _logger = LogManager.GetLogger(typeof(Log4NetLoggerService));
    }
}

但当然这在我的日志文件中给了我“Log4NetLoggerService”......

现在我想要找出我的日志记录组件正在解析/构建的消费者类

我尝试使用StackFrame类,但没有运气(不仅如此,而且因为日志服务可以隐式解析(IoC)或使用直接调用IKernel.Resolve)。

在Windsor框架中必须有一些方法可以做到这一点,我找不到任何东西......

谢谢!

1 个答案:

答案 0 :(得分:1)

为什么不在构造函数中使用类型?

 public Log4NetLoggerService(Type loggingComponentType)
{
    _logger = LogManager.GetLogger(loggingComponentType);
}

如果您使用记录器作为组件中的静态成员,则只需要输入一次类型。