首页 > 解决方案 > 如何在 XSD 中为自定义 log4net appender 子元素正确定义元素

问题描述

我是 log4net 的新手,需要包含一个自定义 Appender。我在log4net.config中为我的自定义 appender 定义了以下内容:

<appender name="SyslogAppender" type="log4net.Appenders.RemoteAppender,log4net.Appenders">
  <AppName>MySampleApp</AppName>
</appender>

log4net.xsd中,我有

 <xs:complexType name="appender">
    ...
    <xs:element minOccurs="0" maxOccurs="1" name="AppName" type="AppName" />
    ...
 </xs:complexType>

我正在尝试定义AppName以便我可以正确使用它。我试过使用:

 <xs:complexType name="AppName">
    <xs:attribute name="value" type="xs:string" />
 </xs:complexType>

我收到错误消息,该元素不能包含文本。内容模型为空。当我使用xs:element时,它告诉我该元素在此上下文中不受支持。

我也尝试过使用

 <xs:element name="AppName" type="xs:string" />

如何正确定义它以使用AppName就像我想在log4net.config中一样?

谢谢!

标签: xmlxsdlog4net

解决方案


我将这一切都移到了 Web.config 中,不再需要使用 XSD。这解决了我的问题。可能不是最好的解决方案,但有效。


推荐阅读