【问题标题】:Log4Net: Enumerating GlobalContext properties?Log4Net:枚举 GlobalContext 属性?
【发布时间】:2015-04-07 18:32:57
【问题描述】:

我正在尝试将 Loggly appender 实用程序用于 log4net。
我发现他们的代码正在枚举ThreadContext 属性并将它们附加到通过线路发送到loggly 服务的有效负载中。好主意!但是,相同的功能并未应用于GlobalContext 属性。认为这是他们的失误,我尝试枚举GlobalContext 属性并将它们也添加到有效负载中。

但是,这已被证明是一个问题。在访问 ThreadContext 属性时,似乎没有任何方法可以访问键和关联值。

如何枚举GlobalContext 属性?

【问题讨论】:

    标签: log4net


    【解决方案1】:

    我看到的唯一方法是检索全局上下文的属性类(GlobalContext.Properties,它返回一个GlobalContextProperties 类)并通过反射获取内部方法GetReadOnlyProperties() 返回的ReadOnlyPropertiesDictionary。一旦你有了ReadOnlyPropertiesDictionary,你就可以迭代键和值

    据我所知,ThreadContext 具有或多或少相同的机制,因此您可以以ThreadContext 枚举为例,将其移植到GlobalContext

    【讨论】:

    • 是的,我找到了类似的解决方案。发现在全局和线程上下文属性之间看不到类似的功能有点奇怪。
    猜你喜欢
    • 1970-01-01
    • 2013-07-13
    • 2011-02-16
    • 1970-01-01
    • 1970-01-01
    • 2018-02-04
    • 2020-07-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多