2017-08-04 30 views
0

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

我的目标姑娘如下:

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> 

我不没有看到任何参数不匹配的原因。如果任何人有想法,为什么错误被抛出,我都耳朵。

+0

请发表您的复制CSVPattern类和异常的详细信息。我建议你阅读如何创建[最小,完整和可验证示例](https://stackoverflow.com/help/mcve) –

回答

1

EmailCSVLog该属性称为EmailTo但在附加目的地conversionPattern它是作为被引用To(即%property{To}