温莎城堡:消费者的组件
本文关键字:组件 消费者 城堡 | 更新日期: 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);
}
如果将记录器用作组件中的静态成员,则只需发送一次类型。