1

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();
        }
4

0 に答える 0