84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
人生最曼妙的风景,竟是内心的淡定与从容!
まず、設計パターン、つまりアダプター パターンを理解する必要があります。
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
一部はインターフェースであり、一部は実装です。 slf4j は log4j のアップグレードされたバージョンで、両方とも commons-logging を実装しています。
slf4j はログ ファサードであり、最下層で commons-logging、log4j、logback、およびその他の特定の実装を使用することを選択できます。
まず、設計パターン、つまりアダプター パターンを理解する必要があります。
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
一部はインターフェースであり、一部は実装です。 slf4j は log4j のアップグレードされたバージョンで、両方とも commons-logging を実装しています。
slf4j はログ ファサードであり、最下層で commons-logging、log4j、logback、およびその他の特定の実装を使用することを選択できます。