我有一个巨大的数据列表,比如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();
}