如何记录Castle Windsor内部日志?例如,如果我以一种无法加载连接字符串的方式错误配置Castle,我想知道在尝试解析连接字符串时是否可以从Castle记录错误。我正在使用Log4Net Facility,我只能看到应用程序日志,而不是Windsor日志。
答案 0 :(得分:4)
您对WindsorContainer.Resolve<>的致电如果解决方案失败,将抛出异常。您应该在“bootstrapping”代码中记录此异常,该代码负责创建容器并解析所需的组件。异常消息通常会告诉您在令人难以忍受的细节方面究竟出了什么问题。
据我所知,Windsor没有通过log4net进行任何“内部”日志记录(也许其中一个贡献者可以纠正/肯定这一点)。如果您希望记录“内部”事件,可以连接到内核上的事件处理程序(可通过WindsorContainer.Kernel访问)。例如,有ComponentRegistered和DependencyResolving事件,允许您分别对注册和解决方案采取自定义操作。