Springbootログ統合(1):ログバックとlog4j2

はじめに:Javaには、log4j、log4j2、logback、Javaが提供するJava Util Loggingなどの多くのログコンポーネントがあります。実際、springbootはこれらのコンポーネントをサポートします。Log4j、log4j2、logbackはすべて対応するコンポーネントをサポートします。

一、ログバック

1)springbootでデフォルトで使用されるロギングツールはlogbackですが、特定のロギングツールに言及する前に、用語を言及する必要があります。この用語はslf4j(Simple Logging Facade For Java)です。
2)Baidu百科事典の説明:
https
//baike.baidu.com/item/slf4j/6408868 3)slf4jは特定のログソリューションではなく、ファサードモードを使用するjdbcに少し似ており、すべてのタイプのログを抽象化したものです。実装、これは抽象的なログ実装であるため、springbootに追加のインポートを行う必要はありません。

:Spring-boot-starterは、spring-boot-starter-loggingへの依存関係を提供します。これは、spring-boot-starter-loggingで確認でき、slf4jのデフォルトサポートとlogbackの特定の実装を統合します。

ここに写真の説明を挿入
1)UserControllerを変更します

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private final Logger logger = LoggerFactory.getLogger(UserController.class);

ここに写真の説明を挿入
2)ブラウザでlocalhost:8080 / helloと入力すると、コンソールログの出力が表示されます。

ここに写真の説明を挿入

1.1、ログレベル

コントローラを変更して、ログの出力をlogger.debug( "this is a hello log");に変更します。
この時点で再起動して再度呼び出すと、バックグラウンドで出力がないことがわかります。これは、ログレベルが機能しているためです。

  1. デフォルトでは、Spring BootはINFOログレベルを構成します。つまり、INFOレベルより上のログ(ERROR、WARN、INFO)を出力します。
    デバッグレベルのログが必要な場合。src / main / resources /application.propertiesで構成します。
    debug = true
  1. どのパッケージのログレベルを具体的に出力するようにlogging.level。*を構成します。
    たとえば、
    logging.level.root = INFO
    logging.level.org.springframework.web = DEBUG
    logging.level.cn.enjoy.controller = DEBUG

ここに写真の説明を挿入

  1. このとき、springframework.webやcn.enjoy.controllerなどのデバッグログを出力できます。

ここに写真の説明を挿入

1.2、ログファイル
  1. 通常の状況では、springbootログはコンソールにのみ出力され、ログファイルには書き込まれません。ただし、一部の正式な環境アプリケーションでは、logging.fileファイル名を構成してapplication.properitesファイルにログインする必要があります。パスファイルパス、ログをログファイルに出力します。

     logging.path = /var/tmp
     logging.file = xxx.log
     logging.level.root = info
    

注意:

logging.pathのみが構成されている場合、ログファイルspring.logが/ var / tmpフォルダーに生成されます。logging.fileのみが構成されている場合、xxx.logログファイルがプロジェクトの現在のパスに生成されます。
ここにピットがあり、logging.pathとlogging.fileが構成され、logging.fileのみが有効になるため、ログ生成の特定の場所を指定する場合は、logging.file構成を使用します

2)application.propertiesで構成します

	logging.file =F:\\log\\enjoy.log

ここに写真の説明を挿入

			这样在F盘的相应位置出现日志文件。。

2、log4j2

spring-boot-dependencies POMでspring-boot-starter-log4j2を検索すると
、Springブートの親Pomがこの依存関係を提供していることがわかったため、次のjar依存関係を追加します。

  1. pom.xmlファイルを変更します
 <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-logging</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-log4j2</artifactId>
        </dependency>
	注意: 由于默认使用logback在扩展log4j2之前先要把logback移除
	
	日志使用跟上面logback一样。

**次の章:**が更新されています。

おすすめ

転載: blog.csdn.net/weixin_46822085/article/details/109353169