Log4Net:枚举GlobalContext属性?

Log4Net:枚举GlobalContext属性?,log4net,Log4net,我正在尝试为log4net使用Loggly appender实用程序 我发现他们的代码通过ThreadContext属性进行枚举,并将它们附加到通过线路发送到loggly服务的有效负载中。好主意但是,相同的功能未应用于GlobalContext属性。我认为这是他们的失误,于是尝试通过GlobalContext属性枚举,并将其添加到有效负载中。 然而,事实证明这是一个问题。在访问ThreadContext属性时,似乎没有任何方法访问键和相关值。 如何枚举GlobalContext属性 我看到的唯一

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

然而,事实证明这是一个问题。在访问
ThreadContext
属性时,似乎没有任何方法访问键和相关值。


如何枚举
GlobalContext
属性

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


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

是的,我找到了类似的解决方案。发现在全局和线程上下文属性之间没有类似的功能有点奇怪。