現在、開発環境と本番環境の 2 つの環境で実行できるアプリケーションを開発しています。それぞれに異なるロギング インフラストラクチャが必要です。
環境は、実行時に .exe に渡されます。コードを使用してそれぞれのアペンダーを有効/無効にするにはどうすればよいですか? 以下の構成にも微調整するものはありますか?
この app.config ファイルには、 thisに基づいて各キーに「prod」値と「dev」値を与えるアプリケーション設定用の他のコンテンツがあるため、複数の構成ファイルは必要ありません。
<log4net>
<root>
<level value="debug" />
<appender-ref ref="Dev" />
<appender-ref ref="Prod" />
</root>
<appender name="Dev" type="log4net.Appender.FileAppender">
<file type="log4net.Util.PatternString" value="blabla 1" />
<layout type="log4net.Layout.PatternLayout">
<Header value="[Application Start] " />
<Footer value="[Application Exit] " />
<ConversionPattern value="%date (%property{ActiveStatus}) %-5level [%2thread] %-20.20logger{1} %message%newline" />
</layout>
</appender>
<appender name="Prod" type="log4net.Appender.FileAppender">
<file type="log4net.Util.PatternString" value="blabla 2" />
<layout type="log4net.Layout.PatternLayout">
<Header value="[Application Start] " />
<Footer value="[Application Exit] " />
<ConversionPattern value="%date (%property{ActiveStatus}) %-5level [%2thread] %-20.20logger{1} %message%newline" />
</layout>
</appender>
</log4net>