5k の値のようなデータの膨大なリストがあり、それらを log4net の logger.Info にプッシュしたいと考えています。
個々の文字列値がある場合は、それを行うことができ、それに応じて変換パターンを変更しましたが、これらの値をすべてリストにプッシュしたいので、とにかくそうすることができます。
また、変換パターンも変更する必要があります。変換パターンについては、for ループを使用して文字列を作成し、Patternlayout クラスをオーバーライドして、すべての 5k 値の変換パターンを設定できますが、それらの値をリストからそれらの値に配置する方法は?
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();
}