【问题标题】:log4net array of elements in configuration appenderlog4net 配置附加程序中的元素数组
【发布时间】:2017-11-23 08:41:56
【问题描述】:

我怎样才能写出这样的东西:

<appender name="MyAppender" type="MyNamespace.MyAppender, MyDll">
    <url value="http://example1.com" />
    <url value="http://example2.com" />
    <url value="http://example3.com" />
</appender>

在 log4net Appender 配置文件中,并将其反序列化为我的类中的自定义属性:

public class MyAppender : BulkAppender
{
    public string[] Url { get; set; }
}

我对单个字符串没有任何问题,但无论我做什么,我都无法反序列化数组。

【问题讨论】:

  • 也许将它们包装到另一个元素 (&lt;urls&gt;&lt;url .../&gt;&lt;url ... /&gt;&lt;/urls&gt;) 并将您的属性重命名为 public string[] Urls?
  • @Evk 不幸的是不起作用。

标签: c# asp.net log4net log4net-configuration log4net-appender


【解决方案1】:

不是最优雅的解决方案,但您可以使用列表代替数组:

public class MyAppender : BulkAppender
{
    public List<string> Url { get; set; }
}

然后在你的 app.config 中使用类似的东西:

<url>
  <add value="http://example1.com" />
  <add value="http://example2.com" />
  <add value="http://example3.com" />
</url>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多