log4j - java的日志到底是怎么一回事
黄舟
黄舟 2017-04-17 16:55:57
0
3
520
黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全員に返信(3)
小葫芦

まず、設計パターン、つまりアダプター パターンを理解する必要があります。

JDK に付属する Logger、Log4j、Logback など、Java がログを記録するために使用するライブラリは多数ありますが、通常、コードを記述するときにそれらのライブラリの 1 つを選択するだけです。

しかし、ある日、自分が書いたコードがオープンソース化され、他の人が使用したい場合、どのロギング ライブラリを使用するべきかという疑問が生じます。もちろん、オープン ソース ライブラリを使用するユーザーがどのロギング フレームワークを使用しているかわからないため、1 つだけを選択することはできません。現時点では、他のユーザーが使用しているロギング フレームワークとの互換性を維持したい場合は、commons-logging または slf4j を使用する必要があります。したがって、一般にオープン ソース フレームワークは特定のログ フレームワークを使用しませんが、commons-logging または slf4j を使用してログを処理します。たとえば、Hibernate は slf4j を使用します。最新バージョンでは JBOSS アダプターが使用されているようです)、Spring では commons-logging が使用されています。

Java は、ロギングの点で JDBC とは異なります。JDBC には、Oracle に接続するか MySQL に接続するかに関係なく、共通の標準 API セットがあります。ただし、ログ ライブラリ JDK Logger、Log4j、および Logback は相互に互換性がなく、共通のインターフェイスがありません。そのため、commons-logging と slf4j は アダプター モード を通じて共通のインターフェイスを抽象化し、それを使用します。ログを実装するには、特定のログ フレームワークにアクセスします。

要約すると、JDK Logger、Log4j、および Logback は特定のログ フレームワークの実装であり、commons-logging と slf4j はログ フレームワーク間の非互換性を解決するための抽象アダプター インターフェイスです。

最後に、このブログは私の slf4j のソース コード分析です。 http://blog.csdn.net/xiao__gui/article/details/32695647

いいねを押す +0
巴扎黑

一部はインターフェースであり、一部は実装です。 slf4j は log4j のアップグレードされたバージョンで、両方とも commons-logging を実装しています。

いいねを押す +0
小葫芦

slf4j はログ ファサードであり、最下層で commons-logging、log4j、logback、およびその他の特定の実装を使用することを選択できます。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!