これ、わりと分かりづらい人もいるかと思います。FAQウワッ、何をいっているのかさっぱりわからない、という父兄もいらっしゃることでしょう。これ、知識があればなんとなく理解できるという意味では「バルスのファルシのルシがパージでコクーン」と同じ匂いがします。パターンを指していると思って間違いないと思います。がわりとまとまっていましたので、そっちを参照してください。ユーザに対して何の実装を隠すのか、ですが隠す対象は「ロギングシステム」です。いう中で、ライブラリ開発者、フレームワーク開発者は、そのライブラリ、あるいはフレームワーク中でログを出力するのに、どのロギングシステムを使えば良いかという選択にさらされていました。いうのも、ライブラリ内部のログ、フレームワーク内部のログと、それらを利用して動作するアプリケーションのロギングシステムは、基本的に同じにしたいというのがユーザの要望だからです。ライブラリ開発者やフレームワーク開発者が勝手にロギングシステムを決めてしまうと、そのロギングシステムの使用をアプリケーション開発者に半ば強制してしまうことになる。強制してしまうならまだ良い。使用し、ライブラリBがロギングシステムBを使用するようなケースで、ライブラリAとBを利用するアプリケーションCのロギングシステムに何を使ったら良いでしょう、という難題も発生します。