MVC3 Web アプリケーションがあります。依存性注入には Ninject 2 を使用し、ロギングには log4net を使用した Ninject ロギング拡張機能を使用しています。
私のクライアントは、可能性のある問題をトラブルシューティングするために、本番環境でユーザー セッションを「トレース」できるようにしたいと考えています。これを実装したかった方法は、そのユーザーのログ レベルを動的に変更することです。たとえば、Cookie を保存することで、Ninject.logging がロガー インスタンスを提供するときに、レベルが Debug に設定されたログ インスタンスを提供することを認識します。
Ninject ロギングまたは単純な log4net を使用して、これを行う方法が見つかりませんでした。
助言がありますか?
質問する
287 次
2 に答える
1
this other question で説明されているように、プログラムでレベルを強制できると思います。新しいlogegrインスタンスを正確に提供するのではなく、現在のものを変更していますが、問題を解決できると思います.
于 2012-06-01T13:28:49.837 に答える
1
最終的に ninject.extension.logging を次のように変更しました:
- LoggerFactoryBase でGetLogger(IContext context)
、HttpContext から Cookie を取得するメソッドを変更しました
- この値が設定されている場合、"Tracing" でロガーを取得または作成します。+ タイプ名
- log4net 構成では、"Tracing" という名前のロガーがデバッグに設定されています
于 2012-06-12T16:24:51.663 に答える