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