使用 Castle Core Logging 从库中捕获日志输出

Capturing log output from library using Castle Core Logging

目前取决于使用涉及主题的 Castle.Core Logging abstraction. I've dug through both that library's docs, and Castle's, and can't seem to find clear explanation of how to capture log output to pipe to our logging framework of choice (NLog, in this instance). I've also dug through a few posts 的库,但由于不适用于这种情况而被驳回。

应该注意的是,NLog 对于应用程序的其余部分工作正常。内部日志中没有看到错误。这个第三方库没有输出。

我看到了 Castle.Core NLog integration,但它看起来是依赖于 Castle 的图书馆使用的东西,而不是依赖于图书馆的东西。

那么是否可以从该库中捕获日志输出?或者我需要联系该项目以获得支持吗?

如果您拥有托管库的进程,则您有责任告知 Castle.Core.Log 使用哪个日志提供程序。

在您的应用程序中配置 NLog,然后通过调用
将 NLog 注册为 Castle Log Provider as explained in the documentation container.AddFacility<LoggingFacility>(f => f.LogUsing(LoggerImplementation.NLog) 创建容器时

对于您的库(白色),您应该通过在 CoreAppXmlConfiguration 实例上设置它来提供记录器工厂,或者在初始化库的 Application 对象时提供您自己的子类实例。

参见 https://github.com/TestStack/White/blob/master/src/TestStack.White/Configuration/CoreAppXmlConfiguration.cs#L53