【发布时间】:2012-03-02 16:53:53
【问题描述】:
如何记录温莎城堡的内部日志?例如,如果我以无法加载连接字符串的方式错误配置了 Castle,我想知道在 Castle 尝试解析连接字符串时是否可以记录错误。我正在使用 Log4Net Facility,我只能看到应用程序日志,而不是 Windsor 日志。
【问题讨论】:
标签: logging castle-windsor log4net
如何记录温莎城堡的内部日志?例如,如果我以无法加载连接字符串的方式错误配置了 Castle,我想知道在 Castle 尝试解析连接字符串时是否可以记录错误。我正在使用 Log4Net Facility,我只能看到应用程序日志,而不是 Windsor 日志。
【问题讨论】:
标签: logging castle-windsor log4net
如果解析失败,您对 WindsorContainer.Resolve 的调用将引发异常。您应该在负责创建容器和解析所需组件的“引导”代码中记录此异常。异常消息通常会在令人痛苦的细节中准确地告诉您出了什么问题。
据我所知,Windsor 不会通过 log4net 进行任何“内部”日志记录(也许其中一位贡献者可以纠正/确认这一点)。如果您希望记录“内部”事件,您可以连接到内核上的事件处理程序(可通过 WindsorContainer.Kernel 访问)。例如,ComponentRegistered 和 DependencyResolving 事件允许您分别对注册和解析采取自定义操作。
【讨论】: