Properties 如何访问AdoNetAppender的log4net自定义属性?

Properties 如何访问AdoNetAppender的log4net自定义属性?,properties,log4net,Properties,Log4net,我正在将属性添加到 LogicalThreadContext.Properties["callContextId"] = "123456"; 我的配置如下所示: <parameter> <parameterName value="@CallContextId" /> <dbType value="String" /> <layout type="log4net.Layout.PatternLayout"> <conver

我正在将属性添加到

LogicalThreadContext.Properties["callContextId"] = "123456";
我的配置如下所示:

<parameter>
  <parameterName value="@CallContextId" />
  <dbType value="String" />
  <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%property{callContextId}" />
  </layout>
</parameter>
我想做一些像这样的事情。。。是否完全支持/可能

<conversionPattern value="%property{callContext}.Id" />


谢谢

不,log4net不支持它

如果查看中的代码,您会看到它调用中的
WriteObject
,然后只调用属性中存储的对象上的
ToString

这也不容易实现,因为必须使用代码来提取属性名,然后使用反射来提取值。由于只需将对象属性的值存储在
LogicalThreadContext.Properties
中,就可以完成同样的任务,因此不值得这样做

<conversionPattern value="%property{callContext}.Id" />