Springbootログ統合ログバック


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

一、ログバック

springbootでデフォルトで使用されるロギングツールはlogbackですが、特定のロギングツールについて言及する前に、用語について言及する必要があります。この用語は、slf4j Simple Logging Facade For Java

Baidu百科事典はhttps://baike.baidu.com/item/slf4j/6408868を説明しました

slf4jは特定のログソリューションではありません。jdbcに少し似ています。ファサードモードを使用します。すべてのタイプのログの抽象実装です。抽象ログ実装であるため、springbootで追加のインポートを行う必要はありません。

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

2、コントローラーを編集します

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

ここに写真の説明を挿入
ブラウザで次のように入力します:localhost:8080 / hello、コンソールログの出力を確認できます
ここに写真の説明を挿入

3、ログレベルの制御

デフォルトでは、Spring BootはINFOログレベルを構成します。つまり、INFOレベルより上のログ(ERROR、WARN、INFO)を出力します。

  1. デバッグレベルのログが必要な場合。src / main / resources /application.propertiesでdebug = trueを構成します
  2. どのパッケージのログレベルを具体的に出力するようにlogging.level。*を構成します。
    次に例を示します
    。logging.level.root= INFO#
    次のパッケージがデバッグである場合を除き、他のすべてのファイルは情報レベルです
    。logging.level.org.springframework.web= DEBUG
    logging.level.cn.enjoy.controller = DEBUG
    ここに写真の説明を挿入

4、ログファイル

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

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構成を使用します。

application.propertiesでlogging.file = F:\ log \ enjoy.logを構成します

ここに写真の説明を挿入
このようにして、ログファイルはFドライブの対応する位置に表示されます

おすすめ

転載: blog.csdn.net/GanYangBa/article/details/109226473