将List <string>数据推送到Log4Net中的logger.Info </string>

时间:2014-10-29 05:45:27

标签: c# logging log4net log4net-appender

我有一个巨大的数据列表,比如5k值,我想将它们推入log4net的logger.Info。

如果有单独的字符串值,我可以这样做,并相应地修改了转换模式,但现在我想在列表中推送所有这些值,因此无论如何我都可以这样做。

另外,我也需要修改转换模式。对于转换模式,我可以使用for循环创建一个字符串并覆盖Patternlayout类并为所有5k值设置转换模式但是如何将List中的这些值放到这些值中?

string convpatt = "%date{M/d/yyyy H:mm:ss.fff}%newfield%property{Latitude}";

        for (int i = 0; i < 512; i++)
        {
            log4net.ThreadContext.Properties[i.ToString()] = i.ToString();
            convpatt += "%newfield%property{" + i.ToString()+"}";
        }

        var appenders = log4net.LogManager.GetRepository().GetAppenders();

        foreach (var rollingFileAppender in appenders.OfType<log4net.Appender.RollingFileAppender>())
        {
            log4net.Layout.PatternLayout myPatten = new MyPatternLayout ();
            My_app.MyPatternLayout mypatt1 = new MyPatternLayout();
            mypatt1.ConversionPattern = convpatt;

            mypatt1.AddConverter("newfield", typeof(NewFieldConverter));
            mypatt1.ActivateOptions();
            rollingFileAppender.Layout = mypatt1;
            rollingFileAppender.ActivateOptions();
        }

0 个答案:

没有答案