Logbackログ構成の簡単な使用
9609 ワード
Logbackの紹介
Logbackはlog 4 jの創始者によって設計されたもう一つのオープンソースログコンポーネントである.logbackは現在、logback-core、logback-classic、logback-accessの3つのモジュールに分かれています.logback-coreは他の2つのモジュールの基礎モジュールです.logback-classicはlog 4 jの改良バージョンである.さらにlogback-classicはSLF 4 J APIを完全に実現し、log 4 jやJDK 14 Loggingなどの他のログシステムに簡単に交換することができます.logback-accessアクセスモジュールとサーブレットコンテナの統合は、Httpを介してログにアクセスする機能を提供します.
Logbackのメリットは実行速度が速く、初期化メモリのロードが小さい. 原生はSLF 4 J APIを実現し、変換を必要としない. は構成が簡単で、多種の環境に適応することができる. は、期限切れのログを定期的に削除することができる. より強力なフィルタで、ログ・レベルの変更によって大量のログを生成する必要はありません. はIOエラーから回復することができる. .... logbackの長所についてはまだたくさんありますが、ここでは一つ一つ挙げません.詳細は公式のApiドキュメントを参照できます.アドレス:https://logback.qos.ch/documentation.html
Logbackの構成説明
この構成の説明については、比較的一般的な構成を簡単に列挙して説明します.さらに詳しくは、公式のドキュメントの説明を参照してください.
Logbackの階層の説明
簡単な階層構造で、実際にはもっと多く、参考にしてください.
具体的な説明
configurationルートノードには、一般にscan、scanPeriod、debugの3つの属性があります. scan:自動ロードするかどうか、デフォルトはtrueです. scanPeriod:変更間隔をリスニングし、デフォルトでは1分です. debug:logbackの実行ステータスを表示するかどうか、デフォルトtrue.
では、これを使用すると、次のような構成ができます.
rootとloggerサブノードは、入力されたログレベルを指定します. root:これは、プライマリ・ログを指定するレベルです. logger:カスタムログを指定するレベルです.
説明:rootで指定したログ・レベルは、クラスで出力されるログです.たとえば、次のようにします.
loggerが指定するログ・レベルは、次のようなカスタム・レベルです.
彼らの使い方は以下の通りです.
説明2:levelはログ出力のレベルであり、additivityはコンソールでログを印刷するかどうかを示します.
propertyサブノードで、一般的に変数値を定義します.2つのプロパティnameとvalueがあります.JavaのMapのkeyとvalueに似ています. name:変数の名前 value:変数の値 使用法は次のとおりです.
説明:valueで指定したファイルパスは、手動で作成することなく、プロジェクトの兄弟ディレクトリで自動的に生成されます.
appenderサブノードは、ログを書くコンポーネントを担当します.2つのプロパティ、nameとclassがあります. name:カスタム名. class:カスタム名に対応するフルリミット名は、ログの出力をどのように行うかです.
これはとても重要で、logbackのコアとも言えるでしょう.簡単な使い方は以下の通りです.
説明:stdOUT名を定義し、コンソールで出力します.
LayoutとPatternの2つは一般的に一緒に使われています. layout:ログ情報のフォーマット; Pattern:layoutサブノード、出力情報のフォーマットを定義します.
簡単な使い方は以下の通りです.
説明:Patternの中のフォーマットの%dは出力の時間フォーマットを表し、%threadは出力のスレッド名を表し、%-5 levelは文字幅を表し、%msgは出力の情報を表し、%nは改行を表す.
rollingPolicy、fileName Pattern、maxFileSize、maxHistory、totalSizeCapなどは、ログのスクロール、つまりログカット管理などに一般的に使用されます. rollingPolicy:ログのスクロール動作を決定し、一般的にログカットに使用されます. fileName Pattern:必要なノードです.一般的には、ログのファイルのパスを指定し、フォーマットを生成するために使用されます. maxFileSize:1つのログファイルの最大値で、それに達したらカットします. maxHistory:ログ・ファイルの最大保存日数、つまり期限切れです. totalSizeCap:ログ・ファイル全体の最大値で、ログは生成されません.
簡単な使い方は以下の通りです.
説明:この構成の意味は、毎日1つのログファイルを生成し、10 Mを超えた場合、ログは切断され、ログファイル名に1を追加し、ログファイルは最大31日間保持され、ログファイルは合計10 Gになります.
Logback使用説明
logbackログのプロファイルを簡単に説明した後、logbackを簡単に使いましょう.logback.xmlの使用には、slf 4 j-api、logback-core、logback-classicの3つのjarパケットに依存する必要があります.mavanの構成は次のとおりです.
mavenに依存パッケージを追加することに成功したら、簡単なdemoを書いてテストしましょう.3つのlogログ、1つのプライマリlog、2つのカスタムlogを定義します.全体の構成は次のとおりです.
次に、コンソール出力とファイルに出力します.このjavaのコードの例は次のとおりです.
出力結果は次のとおりです.
ログの生成ディレクトリ:
出力結果の説明: LOG:印刷のレベルがinfoに設定されているため、debugレベルでは印刷されません. LOG 2:カスタム構成設定がadditivity=「false」であるため、コンソールに印刷されません.したがって、1つも印刷されませんが、debugレベル以上のログはlogs/pcm/oneInfoで表示できます. LOG 3:カスタム設定がadditivity="true"なのでコンソールで印刷できます.したがって、warnレベルのログが2つ印刷され、ログもlogs/pcm/oneInfoで表示できます.
その他
参照先:https://logback.qos.ch/documentation.html https://www.cnblogs.com/warking/p/5710303.html
これで、本文のlogbackログの簡単な説明は終わります.読んでくれてありがとう.
Logbackはlog 4 jの創始者によって設計されたもう一つのオープンソースログコンポーネントである.logbackは現在、logback-core、logback-classic、logback-accessの3つのモジュールに分かれています.logback-coreは他の2つのモジュールの基礎モジュールです.logback-classicはlog 4 jの改良バージョンである.さらにlogback-classicはSLF 4 J APIを完全に実現し、log 4 jやJDK 14 Loggingなどの他のログシステムに簡単に交換することができます.logback-accessアクセスモジュールとサーブレットコンテナの統合は、Httpを介してログにアクセスする機能を提供します.
Logbackのメリット
Logbackの構成説明
この構成の説明については、比較的一般的な構成を簡単に列挙して説明します.さらに詳しくは、公式のドキュメントの説明を参照してください.
Logbackの階層の説明
簡単な階層構造で、実際にはもっと多く、参考にしてください.
configuration
root
logger
property
appender
layout
rollingPolicy
Pattern
fileNamePattern
maxFileSize
maxHistory
totalSizeCap
具体的な説明
configurationルートノードには、一般にscan、scanPeriod、debugの3つの属性があります.
では、これを使用すると、次のような構成ができます.
...
rootとloggerサブノードは、入力されたログレベルを指定します.
説明:rootで指定したログ・レベルは、クラスで出力されるログです.たとえば、次のようにします.
private static Logger LOG = LoggerFactory.getLogger(logbackTest.class);
loggerが指定するログ・レベルは、次のようなカスタム・レベルです.
private static Logger LOG2 = LoggerFactory.getLogger("oneInfo");
彼らの使い方は以下の通りです.
説明2:levelはログ出力のレベルであり、additivityはコンソールでログを印刷するかどうかを示します.
propertyサブノードで、一般的に変数値を定義します.2つのプロパティnameとvalueがあります.JavaのMapのkeyとvalueに似ています.
説明:valueで指定したファイルパスは、手動で作成することなく、プロジェクトの兄弟ディレクトリで自動的に生成されます.
appenderサブノードは、ログを書くコンポーネントを担当します.2つのプロパティ、nameとclassがあります.
これはとても重要で、logbackのコアとも言えるでしょう.簡単な使い方は以下の通りです.
説明:stdOUT名を定義し、コンソールで出力します.
LayoutとPatternの2つは一般的に一緒に使われています.
簡単な使い方は以下の通りです.
%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level - %msg%n
説明:Patternの中のフォーマットの%dは出力の時間フォーマットを表し、%threadは出力のスレッド名を表し、%-5 levelは文字幅を表し、%msgは出力の情報を表し、%nは改行を表す.
rollingPolicy、fileName Pattern、maxFileSize、maxHistory、totalSizeCapなどは、ログのスクロール、つまりログカット管理などに一般的に使用されます.
簡単な使い方は以下の通りです.
${LOG_HOME}/mylog-%d{yyyy-MM-dd}.%i.txt
10MB
31
10GB
説明:この構成の意味は、毎日1つのログファイルを生成し、10 Mを超えた場合、ログは切断され、ログファイル名に1を追加し、ログファイルは最大31日間保持され、ログファイルは合計10 Gになります.
Logback使用説明
logbackログのプロファイルを簡単に説明した後、logbackを簡単に使いましょう.logback.xmlの使用には、slf 4 j-api、logback-core、logback-classicの3つのjarパケットに依存する必要があります.mavanの構成は次のとおりです.
org.slf4j
slf4j-api
1.7.25
ch.qos.logback
logback-classic
1.2.3
ch.qos.logback
logback-core
1.2.3
mavenに依存パッケージを追加することに成功したら、簡単なdemoを書いてテストしましょう.3つのlogログ、1つのプライマリlog、2つのカスタムlogを定義します.全体の構成は次のとおりです.
%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level - %msg%n
${LOG_HOME}/mylog-%d{yyyy-MM-dd}.%i.txt
10MB
31
10GB
%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level - %msg%n
${LOG_HOME}/oneInfo/%d{yyyy-MM-dd}/oneInfo.%i.txt
10MB
31
10GB
%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level - %msg%n
${LOG_HOME}/twoInfo/%d{yyyy-MM-dd}/twoInfo.%i.txt
10MB
31
10GB
%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level - %msg%n
次に、コンソール出力とファイルに出力します.このjavaのコードの例は次のとおりです.
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
*
* Title: logbackTest
* Description:
* logback
* Version:1.0.0
* @author pancm
* @date 2018 1 24
*/
public class logbackTest {
private static Logger LOG = LoggerFactory.getLogger(logbackTest.class);
private static Logger LOG2 = LoggerFactory.getLogger("oneInfo");
private static Logger LOG3 = LoggerFactory.getLogger("twoInfo");
public static void main(String[] args) {
test();
}
private static void test(){
LOG.debug(" debug");
LOG.info(" info");
LOG.warn(" warn");
LOG.error(" error");
LOG2.debug("oneInfo debug");
LOG2.info("oneInfo info");
LOG2.warn("oneInfo warn");
LOG2.error("oneInfo error");
LOG3.debug("twoInfo debug");
LOG3.info("twoInfo info");
LOG3.warn("twoInfo warn");
LOG3.error("twoInfo error");
}
出力結果は次のとおりです.
ログの生成ディレクトリ:
出力結果の説明:
その他
参照先:https://logback.qos.ch/documentation.html https://www.cnblogs.com/warking/p/5710303.html
これで、本文のlogbackログの簡単な説明は終わります.読んでくれてありがとう.