Azureクラウドベースのアプリケーションが実行するログのレベルを動的に制御できるようにしたいと考えています。これを行うために、共有log4netベースのDLLを作成しています。
log4netロギングについては多くの質問がありますが、ほとんどすべての質問には、構成ファイルまたはその他のテキストファイルへの設定の入力と操作が含まれます。Azureクラウドでは、web.configを変更することは再デプロイを意味します。管理者ポータルからアプリケーションにWebサービス呼び出しを行って、ログを変更したいと思います。
また、いくつかのアプリケーションがあり、各構成ファイルにAppenderの詳細などの同一の設定を保存せずに、それぞれが新しいlog4netベースのDLLを使用するようにします。アプリケーションは、同じ一貫性のあるデータをログに記録します。
この大規模なユーザーベースアプリケーションのパフォーマンスが低下するため、Azure診断を使用したくありません。さらに、ロギングと診断を最小限に抑え(または完全に無効にし)、さまざまなレベルでのみ有効にして、本番環境の問題をデバッグしたり、パフォーマンスのスナップショットを作成したりします。アプリを再デプロイしたくありません。
最善のアプローチは何ですか?