「Open棟梁 wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
ログ出力方式 (log4net) を NLogにリプレース。
詳細 †
リプレース †
足回り(ライブラリ)をリプレースするだけで、設計自体は変更しない。
not コンパチ †
コンパチ(DIが採用)できなかった理由。
- DIだと、config処理をユーザ側に持たせる必要がある。
(Program.csや、Setup.csに書かせるようなconfigをユーザ側に強いる)
- 下位スタックでDIされたLoggerを使用する場合、
共通I/Fが無いならレイトバインドするしかない。
- 共通I/Fがあれば、下位はインターフェイスのみ実装し、
config用ライブラリも含め、実体を上位からDIすることもできるのだが。
- log4netとNLogに共通のインターフェイスは無い。
- 従って、コンパチの情報もない。
- DIはユーザ・レイヤでのみ可能。
よくよく考えると、DIされたLoggerを、基盤側で使用している
ようなケースは無い(ASP.NET Coreでも無い)ですね...。
参考 †
マイクロソフト系技術情報 Wiki †
OpenTouryoProject?/OpenTouryo? †