0

我在一个项目中使用 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框架中必须有某种方法可以做到这一点,我只是找不到任何东西......

谢谢!

4

1 回答 1

1

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

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

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

于 2012-05-21T12:31:29.163 回答