Log4jは、Log4jロギングテクノロジーを使用してLog4jの使用を開始します

Log4jロギングテクノロジー

1.コンセプト

プログラムのログテクノロジーは、実行中のプログラムの詳細なプロセスを記録でき、永続的に保存できます。

2.ログステートメントと出力ステートメントの違い

ここに画像の説明を挿入

3.ロギングテクノロジーのアーキテクチャ

ここに画像の説明を挿入

4.Log4j構成ファイルの詳細な説明

注:Log4j構成ファイルの名前はlog4j.propertiesである必要があります。簡単な例は次のとおりです。

ここに画像の説明を挿入

Log4j構成ファイルの3つのコア

(1)ロガーロガー

i。役割:ログのレベルを示すために使用されます

ii。フォーマット:log4j.rootLogger=日志级别,appenderName1,appenderName2...

iii。ログレベル:

オフ、デバッグ<情報<警告<エラー<致命的、すべて、カスタマイズされたレベル

注:Log4jには、指定されたレベル以上のレベルのログ情報のみを出力するルールがあります。

iv。appenderName:Appenders出力ソースで構成します

(2)アペンダーの出力ソース

i。機能:コンソール、ファイルなどのさまざまな場所にログを出力します。

ii。フォーマット:

コンソールへの出力:

log4j.appender.自定义appenderName的名称=org.apache.log4j.ConsoleAppender

ファイルへの出力:

log4j.appender.自定义appenderName的名称=org.apache.log4j.FileAppender

iii。ConsoleAppenderの一般的に使用されるオプション:

  • ImmediateFlush = true

すべてのメッセージがすぐに出力されることを示します。出力しないようにfalseに設定すると、デフォルト値はtrueになります。

  • Target = System.out

フォントの色は黒、Target = System.errを使用、フォントの色は赤を使用します

iv。FileAppenderの一般的に使用されるオプション:

  • ImmediateFlush = true

すべてのメッセージがすぐに出力されることを示します。出力しないようにfalseに設定すると、デフォルト値はtrueになります。

  • Append = false

trueは、指定されたファイルにメッセージを追加することを意味します。元のメッセージは
falseをカバーしません。メッセージは指定されたファイルの内容をカバーします。デフォルト値は、trueです。

  • File = D:/logs/logging.log4j(パスアドレスは左側のスラッシュです)

指定したファイルにログ情報を出力します。このファイルは存在する必要はなく、自動的に作成されます

(3)レイアウト

i。機能:ログ出力のフォーマットを調整します

ii。フォーマット:

レイアウトモードは柔軟に指定できます。

log4j.appender.自定义appenderName的名称.layout=org.apache.log4j.PatternLayout

ログ情報レベルと情報文字列が含まれます。

log4j.appender.自定义appenderName的名称.layout=org.apache.log4j.SimpleLayout

ログの時間、スレッド、カテゴリなどの情報が含まれています。

log4j.appender.自定义appenderName的名称.layout=org.apache.log4j.TTCCLayout

iii。PatternLayoutの一般的に使用されるオプション

フォーマット:ConversionPattern=指定的格式化符号

ここに画像の説明を挿入

5.Log4jの使用手順

(1)jarパッケージをインポートします

ここに画像の説明を挿入

(2)log4j.properties構成ファイルを作成し、このファイルをsrcディレクトリーに配置します。

log4j.rootLogger=info,my,fileAppender

### direct log messages to my ###
log4j.appender.my=org.apache.log4j.ConsoleAppender
log4j.appender.my.ImmediateFlush = true
log4j.appender.my.Target=System.out
log4j.appender.my.layout=org.apache.log4j.PatternLayout
log4j.appender.my.layout.ConversionPattern=%d %t %5p %c{1}:%L - %m%n

# fileAppender演示
log4j.appender.fileAppender=org.apache.log4j.FileAppender
log4j.appender.fileAppender.ImmediateFlush = true
log4j.appender.fileAppender.Append=true
log4j.appender.fileAppender.File=E:/log4j-log.log
log4j.appender.fileAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.fileAppender.layout.ConversionPattern=%d %5p %c{1}:%L - %m%n

(3)コード内のログオブジェクトを取得して出力します

public class Log4JTest01 {
    
    

    //Logger类所属的包是slf4j
    //参数是当前类.class
    private static final Logger LOGGER = LoggerFactory.getLogger(Log4JTest01.class);

    public static void main(String[] args) {
    
    

        LOGGER.debug("debug级别的日志"); //没有达到配置文件中的info级别,不会输出
        LOGGER.info("info级别的日志");
        LOGGER.warn("warn级别的日志");
        LOGGER.error("error级别的日志");

    }
}

(4)運転結果

ここに画像の説明を挿入

(5)設定ファイルで指定された出力ファイルを開きます

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/weixin_49343190/article/details/112004734
おすすめ