Log4Net XmlLayout 自定义属性

Log4Net XmlLayout Custom Properties

我将 Log4Net 设置为输出 xml,我想看看是否有人知道如何添加将在 xml.[=11= 中作为单独节点输出的自定义属性]

这是当前的 log4net 配置:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,Log4net"/>
  </configSections>
  <log4net>
    <root>
      <level value="DEBUG"/>
      <appender-ref ref="LogFileAppender" />
    </root>
    <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender" >
      <file type="log4net.Util.PatternString" value="C:\Log.xml"/>
      <appendToFile value="true" />
      <rollingStyle value="Size" />
      <maximumFileSize value="10MB" />
      <maxSizeRollBackups value="5000" />
      <staticLogFileName value="true" />
      <layout type="log4net.Layout.XmlLayoutSchemaLog4j">
        <locationInfo value="true"/>
      </layout>
      <param name="Encoding" value="utf-8" />
      <filter type="log4net.Filter.PropertyFilter">
        <Key value="Version" />
        <StringToMatch value="1" />
      </filter>
    </appender>
  </log4net>
</configuration>

我看到 post 在写给 SQL 时这样做,但在 xml 写的时候什么也没有,我似乎无法弥补那里的差距。显然,目标是将 UserID、ClientID 等属性作为单独的 xml 节点,以便我们在 Log4Net 查看器(使用 YALV)

中有更好的过滤控制

您无法控制 log4net.Layout.XmlLayoutSchemaLog4j,因为布局中未实现自定义。但是,您可以按照以下问题的答案来实现自己的布局:Log4net xml output