C++では、デファクトスタンダードのロギングツールはありません。私の経験では、店は独自のものです。しかし、再利用可能なソフトウェアコンポーネントを作成しようとすると、少し問題が生じます。システム内のすべてがロギングコンポーネントに依存している場合、ソフトウェアの再利用が少なくなり、基本的に下流のプロジェクトでロギングフレームワークを実際に必要なコンポーネントとともに使用する必要があります。C++ログフレームワークは再利用性を犠牲にしますか?
IOC(依存性注入)は、コンポーネントがログの抽象化に依存する必要があるため、実際には問題に役立ちません。ロギングコンポーネント自体は、ファイルI/O、トリガーメカニズム、およびその他の望ましくない依存性に依存関係を追加できます。
独自のログフレームワークに依存関係を追加すると、コンポーネントの再利用性が犠牲になりますか?
+1私はこの厳密な状況にありますが、私のプロジェクトの主な実装では抽象的なログフレームワークがあり、必要な追加情報を記録しています...しかし、(別の)ログフレームワークを持つライブラリを使用していますが、彼らはまた、フレームワークをカプセル化するオブジェクトが渡されることを期待しています。オブジェクトを構築し、現在のログフレームワークの観点から実装します。 – Arafangion