温莎城堡:消费者的组件

本文关键字:组件 消费者 城堡 | 更新日期: 2023-09-27 18:35:01

我在一个项目中使用了 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(。

在温莎框架中一定有某种方法可以做到这一点,我只是找不到任何东西......

谢谢!

温莎城堡:消费者的组件

为什么不在你的构造函数中采用类型呢?

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

如果将记录器用作组件中的静态成员,则只需发送一次类型。