3

プログラムでlog4netのRollingFileAppenderの構成に取り組んでいます。私は現在このようなものを持っています:

RollingFileAppender fa = new RollingFileAppender();
fa.AppendToFile = true;
fa.RollingStyle = RollingFileAppender.RollingMode.Date;
fa.DatePattern = "yyyyMMdd";
fa.StaticLogFileName = true;
// Set more properties and add the appender to the root repository

これは、日付に基づいてログをロールすることを拒否します。RollingStyleをSizeまたはCompositeに切り替えると、ロールされますが、日付ベースではなく、サイズベースのみです。StaticLogFileNameを削除して、DatePatternをいじってみましたが無駄になりました。

実行時のアペンダーの数がわからないため、これをプログラムで構成する必要があります。そのため、過去に機能することができたXMLを使用して構成することはできません。誰かアイデアがありますか?私は何かが足りないのですか?

4

2 に答える 2

3

この動作は、RollingFileAppender (および他の多くのアペンダーやフィルター)が IOptionHandler インターフェースを実装しているという事実によるものです。すべてが設定されるまであいまいなままです。」

さらに、「構成プロパティが設定された後、このオブジェクトでActivateOptionsメソッドを呼び出す必要があります。ActivateOptions が呼び出されるまで、このオブジェクトは未定義の状態であり、使用してはなりません。」

xml ファイルを使用してアダプターを構成する場合、log4net コンフィギュレーターによってアクティブ化が行われるため、アクティブ化について考える必要はありません。

于 2009-05-19T16:19:48.227 に答える