を注入、私は誰かが私は比較的単純なシナリオにいくつかの概念を適用することができます期待しています:私のアプリケーションが実行されている場合DIツールでクロールすることを学ぶ一方でMEFとのILogとGuyWire
* Log4NetLogger : ILogger
* DebugLogger : ILogger
* NullLogger : ILogger (no output: saves time & noise)
、私が欲しいですLog4NetLoggerになるILog、そしてユニットテスト時にDebugLoggerまたはNullLoggerのいずれかにしたいと思っています。
私は、GuyWireの実装that I likeを探しています。これはWindsorInstallersを使用しています。他のDIツールに偏っていないし、インストーラのコンセプトを理解していなければ、Windsorは他のコンテナと同じくらい良いと思われます。
そうすれば、Log4NetとTestLoggingInstallerを別の方法で結ぶProductionLoggingInstallerを使用できますか? DebugLoggerまたはNullLoggerのいずれかにテストを切り替えるのはどうですか?
そしてMEFがあります。この時点で、この「問題」も解決できると思っていますが、コンテナがなくても、コンテナにも含まれていないかどうかはわかりません。
ここで、ログの解決のシナリオを解決するために、GuyWire、Windsor、およびMEFの組み合わせをどのように適用しますか?
乾杯、
Berryl
注:特定のロギングツールのapp.configをとは対照的に、私は具体的には、いくつかの依存性の注入ツール(ETCすなわち、MEF、ウィンザー、GuyWireを)適用するには、このログシナリオを使用しています
私は本当に2つのものを混ぜていました.1つはユニットテスト成果物の出力を目で確認する機能で、もう1つは実際にプロダクションコードのロギングです。私はTesting Supportプロジェクトでいくつかの拡張機能を実装するだけで、最初の問題を解決しました。もうひとつは、Wind4のLoggingFacilityとlog4netを介した単純化されたインターフェースの組み合わせに傾いています。これはいくつかのアペンダーを含んでいるので、答えが得られます! – Berryl