在实现 log4net csv 映射时获取 TargetParameterCountException

Getting a TargetParameterCountException while implement log4net csv mapping

我正在基于 Steven Padfield 的博客 http://element533.blogspot.com/2010/05/writing-to-csv-using-log4net.html 使用 log4net 实现 csv 日志记录输出。 我只是将 CSVPattern class 复制并粘贴到我的代码中,并创建了 classes 以根据日志记录事件传递到 CSVPattern 中。我遇到的问题是,当我的对象通过 Format 方法时,我得到一个 System.Reflection.TargetParameterCountException。

我传递给CSVPatternLayout.cs的对象如下:

public class EmailCSVLog
{
    public string EmailTo { get; set; }
    public string From { get; set; }
    public string Subject { get; set; }       
}

CSVFileAppender 的 Web.Config 条目如下:

<appender name="CsvFileAppender" type="log4net.Appender.FileAppender">
  <file value="logs\log.csv"/>
  <appendToFile value="true"/>
  <layout type=" ESI_Admin.Utility.CsvPatternLayout">
    <header value="DateTime,Level,To,From,Subject&#13;&#10;" />
    <conversionPattern value="%date{M/d/yyyy H:mm:ss.fff}%newfield%level%newfield%property{To}%newfield%property{From}%newfie     ld%property{Subject}%endrow" />
  </layout>

我看不出有任何参数不匹配的原因。如果有人知道为什么会抛出错误,我会洗耳恭听。

EmailCSVLog 中的 属性 被称为 EmailTo 但在 appender conversionPattern 中它被引用为 To (即 %property{To}