【问题标题】:How can I use the Castle Windsor Factory to create mutiple named loggers?如何使用 Castle Windsor Factory 创建多个命名记录器?
【发布时间】:2013-10-07 23:33:16
【问题描述】:

这个guy 提出了几乎相同的问题。

我目前在 MVC 应用程序中使用城堡日志记录工具,并且当前在 global.asax 中加载单个命名记录器,这使得分隔具有相同级别的多个日志文件变得很容易,而不会获得相同的日志记录输出到多个文件。 LoggerToMatch 是我所追求的过滤,我还有一个自定义 log4net 渲染,我目前使用单个命名记录器,我需要不同的命名记录器使用不同的自定义渲染。

我认为 Krzysztof 的回答 here 是我所追求的,但我不知道这些参数是什么 k,c。

如果有一个看起来像这样的 log4net 配置文件,我将如何使用 Windsor 重新注册两个命名记录器?到目前为止,在注册设施时,我一直在告诉 Windsor 一个命名记录器。

    <logger name="Logger1">
        <level value="INFO" />
        <appender-ref ref="ErrorRollingFile1" />
        <appender-ref ref="TraceRollingFile1" />
        <appender-ref ref="InfoRollingFile1" />
    </logger>

    <logger name="Logger2">
        <level value="INFO" />
        <appender-ref ref="ErrorRollingFile2" />
        <appender-ref ref="TraceRollingFile2" />
        <appender-ref ref="InfoRollingFile2" />
    </logger>

【问题讨论】:

    标签: logging log4net castle-windsor castle windsor-facilities


    【解决方案1】:
    UsingFactoryMethod((k, c)
    

    UsingFactoryMethod 让您可以访问 k=IKernel 和 c=CreationContext

    通过“k”可以显式访问&解析容器中的组件(IKernel是容器的“内核/核心”)

    通过“c”,您可以获得有关父上下文的详细信息。

    【讨论】:

    • 您好,感谢您的回答,但是我仍然不知道如何注册多个命名记录器,然后在容器中按名称引用它们以记录到特定的命名记录器。
    • 谁能给我一个例子,说明如何注册多个命名记录器,然后如何在容器中引用它们?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多