ホームページ Java &#&チュートリアル Spring Boot のログ管理の詳細な紹介を深く理解する

Spring Boot のログ管理の詳細な紹介を深く理解する

May 11, 2018 am 11:16 AM

この記事では、Spring Boot ログ管理の関連情報を詳しく紹介します。必要な方はぜひ参考にしてください。

はじめに

Spring Boot はすべての内部ログに Commons Logging を使用しますが、デフォルト設定では、Java Util Logging、Log4J、Log4J2、Logback などの共通ログのサポートも提供します。各ロガーは、コンソールまたはファイルを使用してログの内容を出力するように構成できます。

log出力形式rreee出力コンテンツ要素は次のとおりです。

プロセス ID

セパレータ — 実際のログの開始を識別します
  • スレッド名 — 角括弧で囲まれます (コンソール出力が切り詰められる場合があります)
  • ロガー名 — 通常はソース コードのクラス名を使用します
  • ログの内容
  • コンソール出力
  • Spring Boot では、ERROR、WARN、INFO レベルのログがデフォルトでコンソールに出力されるように構成されています。
  • 2 つの方法で DEBUG レベルに切り替えることができます:

  • 1. コマンドの実行後に –debug フラグを追加します (例: $ java -jar myapp.jar –debug
  • 2) application.propertiesdebug=true を設定します。このプロパティを true に設定すると、コア ロガー (埋め込みコンテナ、休止状態、および Spring を含む) がより多くのコンテンツを出力します。ただし、自分のアプリケーションのログはDEBUGレベルでは出力されません。

カラフルな出力

端末が ANSI をサポートしている場合、カラー出力を設定するとログが読みやすくなります。 application.propertiesspring.output.ansi.enabled パラメータを設定することでサポートされます。

1.NEVER: ANSI カラー出力を無効にする (デフォルト オプション)


2.DETECT: 端末が ANSI をサポートしているかどうかを確認し、サポートしている場合はカラー出力を使用します (推奨オプション) 3.ALWAYS: 常に ANSI カラー形式の出力を使用します、端末がサポートしていない場合、多くの干渉情報が存在するため、

$ java -jar myapp.jar –debug

     2.在application.properties中配置debug=true,该属性置为true的时候,核心Logger(包含嵌入式容器、hibernate、spring)会输出更多内容,但是你自己应用的日志并不会输出为DEBUG级别。

多彩输出

如果你的终端支持ANSI,设置彩色输出会让日志更具可读性。通过在application.properties中设置spring.output.ansi.enabled参数来支持。

     1.NEVER:禁用ANSI-colored输出(默认项)

     2.DETECT:会检查终端是否支持ANSI,是的话就采用彩色输出(推荐项)

     3.ALWAYS:总是使用ANSI-colored格式输出,若终端不支持的时候,会有很多干扰信息,不推荐使用

文件输出

Spring Boot默认配置只会输出到控制台,并不会记录到文件中,但是我们通常生产环境使用时都需要以文件方式记录。

若要增加文件输出,需要在application.properties中配置logging.filelogging.path属性。

     1.logging.file,设置文件,可以是绝对路径,也可以是相对路径。如:logging.file=my.log

     2.logging.path,设置目录,会在该目录下创建spring.log文件,并写入日志内容,如:logging.path=/var/log

日志文件会在10Mb大小的时候被截断,产生新的日志文件,默认级别为:ERROR、WARN、INFO *

级别控制

在Spring Boot中只需要在application.properties中进行配置完成日志记录的级别控制。

配置格式:logging.level.*=LEVEL

     1.logging.level:日志级别控制前缀,*为包名或Logger名

     2.LEVEL:选项TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF

举例:

logging.level.com.juzi=DEBUG com.juzi包下所有class以DEBUG级别输出

logging.level.root=WARN root日志以WARN级别输出

自定义日志配置

由于日志服务一般都在ApplicationContext创建前就初始化了,它并不是必须通过Spring的配置文件控制。
因此通过系统属性和传统的Spring Boot外部配置文件依然可以很好的支持日志控制和管理。

根据不同的日志系统,你可以按如下规则组织配置文件名,就能被正确加载:

2016-08-19 10:22:04.233 INFO 7368 --- [   main] com.juzi.AsyncTest      : Started AsyncTest in 10.084 seconds (JVM running for 12.545)
ログイン後にコピー

Spring Boot官方推荐优先使用带有-spring的文件名作为你的日志配置(如使用logback-spring.xml,而不是logback.xml)

自定义输出格式

在Spring Boot中可以通过在application.properties配置如下参数控制输出格式:

1.logging.pattern.console:定义输出到控制台的样式(不支持JDK Logger)

2.logging.pattern.file

ファイル出力


の使用はお勧めしません。Spring Bootのデフォルト設定はコンソールに出力されるだけで、ファイルには記録されません, しかし、通常、本番環境で使用する場合は、ファイルに記録する必要があります。 🎜🎜 ファイル出力を増やすには、application.propertieslogging.file または logging.path プロパティを設定する必要があります。 🎜🎜 1.logging.file、設定ファイル。絶対パスまたは相対パスを指定できます。例: logging.file=my.log🎜🎜🎜 2. logging.path でディレクトリを設定すると、spring.log</code が作成されます。 <code>logging.path=/var/log のようなログの内容をディレクトリ > ファイルに書き込みます。🎜🎜サイズが 10Mb になるとログ ファイルは切り詰められ、新しいログ ファイルが作成されます。デフォルトのレベルは次のとおりです: ERROR 、 WARN 、 INFO *🎜🎜🎜レベル制御🎜🎜🎜 Spring Boot では、ログのレベル制御を完了するには、application.properties で設定するだけで済みます。 🎜🎜設定形式: logging.level.*=LEVEL🎜🎜 1.logging.level: ログレベル制御プレフィックス、* はパッケージ名またはロガー名です 🎜🎜🎜 2 .LEVEL: オプション TRACE、DEBUG、INFO、WARN、ERROR、FATAL、OFF🎜🎜🎜例:🎜🎜logging.level.com.juzi=DEBUG com.juziパッケージ内のすべてのクラスはDEBUG レベルで出力🎜🎜🎜logging.level.root=WARN ルート ログは WARN レベルで出力されます🎜🎜🎜カスタマイズされたログ構成🎜🎜🎜通常、ログ サービスは ApplicationContext が作成される前に初期化されるため、 、Spring の設定ファイルを通じて制御する必要はありません。 🎜そのため、ログの制御と管理は、システム プロパティと従来の Spring Boot 外部構成ファイルを通じて引き続き適切にサポートできます。 🎜🎜さまざまなログシステムに応じて、正しくロードできるように、次のルールに従って設定ファイル名を整理できます: 🎜
    1.Logback:logback-spring.xml, logback-spring.groovy, logback.xml, logback.groovy logback日志配置
     2.Log4j:log4j-spring.properties, log4j-spring.xml, log4j.properties, log4j.xml
     3.Log4j2:log4j2-spring.xml, log4j2.xml
     4.JDK (Java Util Logging):logging.properties
ログイン後にコピー
🎜Spring Boot では、ログ設定として -spring を付けたファイル名を使用することを公式に推奨しています (例: logback- spring.xml (logback.xml ではありません) 🎜🎜🎜 カスタム出力形式 🎜🎜🎜 Spring Boot では、application.properties で次のパラメータを設定することで出力形式を制御できます: 🎜🎜 1 .logging.pattern.console: コンソールへの出力のスタイルを定義します (JDK Logger はサポートされていません) 🎜🎜🎜 2.logging.pattern.file: スタイルを定義しますファイルへの出力の数 (サポートされていません) JDK Logger をサポート)🎜🎜🎜🎜

以上がSpring Boot のログ管理の詳細な紹介を深く理解するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Windows ISO ファイルが大きすぎる BootCamp エラー [修正済み] Windows ISO ファイルが大きすぎる BootCamp エラー [修正済み] Feb 19, 2024 pm 12:30 PM

Mac コンピュータで BootCampAssistant を使用しているときに「Windows ISO ファイルが大きすぎます」というエラー メッセージが表示される場合は、ISO ファイルのサイズが BootCampAssistant でサポートされている制限を超えていることが原因である可能性があります。この問題の解決策は、他のツールを使用して ISO ファイルのサイズを圧縮し、BootCamp アシスタントで処理できるようにすることです。 BootCampAssistant は、Mac コンピュータに Windows オペレーティング システムをインストールして実行するために Apple が提供する便利なツールです。ユーザーがデュアルブート システムをセットアップするのに役立ち、起動時に MacOS と Wind のどちらを使用するかを簡単に選択できるようになります。

Spring Boot と OpenAI の出会いによる新しいプログラミング パラダイム Spring Boot と OpenAI の出会いによる新しいプログラミング パラダイム Feb 01, 2024 pm 09:18 PM

2023年、AI技術が注目を集め、プログラミング分野を中心にさまざまな業界に大きな影響を与えています。 AI テクノロジーの重要性に対する人々の認識はますます高まっており、Spring コミュニティも例外ではありません。 GenAI (汎用人工知能) テクノロジーの継続的な進歩に伴い、AI 機能を備えたアプリケーションの作成を簡素化することが重要かつ緊急になっています。このような背景から、AI 機能アプリケーションの開発プロセスを簡素化し、シンプルかつ直観的にし、不必要な複雑さを回避することを目的とした「SpringAI」が登場しました。 「SpringAI」により、開発者はAI機能を搭載したアプリケーションをより簡単に構築でき、使いやすく、操作しやすくなります。

Spring Boot と Spring AI を使用して生成人工知能アプリケーションを構築する Spring Boot と Spring AI を使用して生成人工知能アプリケーションを構築する Apr 28, 2024 am 11:46 AM

Spring+AI は業界リーダーとして、強力で柔軟な API と高度な機能を通じてさまざまな業界に最先端のソリューションを提供します。このトピックでは、さまざまな分野での Spring+AI の応用例を詳しく掘り下げ、Spring+AI がどのように特定のニーズを満たし、目標を達成し、これらの教訓をより広範囲のアプリケーションに拡張するかを示します。このトピックが Spring+AI の無限の可能性をより深く理解し、活用するきっかけになれば幸いです。 Spring フレームワークはソフトウェア開発の分野で 20 年以上の歴史があり、Spring Boot 1.0 バージョンがリリースされてから 10 年が経過しました。今、その春に異論を唱える人はいない

Springプログラマティックトランザクションの実装方法は何ですか? Springプログラマティックトランザクションの実装方法は何ですか? Jan 08, 2024 am 10:23 AM

Spring プログラムによるトランザクションを実装する方法: 1. TransactionTemplate を使用する; 2. TransactionCallback および TransactionCallbackWithoutResult を使用する; 3. Transactional アノテーションを使用する; 4. TransactionTemplate を @Transactional と組み合わせて使用​​する; 5. トランザクション マネージャーをカスタマイズする。

史上最も強力な組織 Spring で最もよく使用される 7 つのアノテーション! 史上最も強力な組織 Spring で最もよく使用される 7 つのアノテーション! Jul 26, 2023 pm 04:38 PM

テクノロジーの更新と反復により、Java5.0 はアノテーションをサポートし始めました。 Java の主要なフレームワークである Spring は、バージョン 2.5 に更新されて以来、徐々に XML 構成を放棄し始めており、Spring フレームワークを制御するために使用されるアノテーションが増えています。

Spring でトランザクション分離レベルを設定する方法 Spring でトランザクション分離レベルを設定する方法 Jan 26, 2024 pm 05:38 PM

Spring でトランザクション分離レベルを設定する方法: 1. @Transactional アノテーションを使用します; 2. Spring 構成ファイルに設定します; 3. PlatformTransactionManager を使用します; 4. Java 構成クラスに設定します。詳細な導入方法: 1. @Transactional アノテーションを使用し、トランザクション管理が必要なクラスまたはメソッドに @Transactional アノテーションを追加し、属性に分離レベルを設定します。 2. Spring の設定ファイルなどで

ログ管理に Hyperf フレームワークを使用する方法 ログ管理に Hyperf フレームワークを使用する方法 Oct 25, 2023 am 09:15 AM

ログ管理に Hyperf フレームワークを使用する方法 はじめに: Hyerpf は、豊富なコンポーネントと機能を備えた、PHP 言語に基づく高性能で柔軟性の高いコルーチン フレームワークです。ログ管理はあらゆるプロジェクトの重要な部分です。この記事では、ログ管理に Hyperf フレームワークを使用する方法を紹介し、具体的なコード例を示します。 1. Hyperf フレームワークをインストールする まず、Hyperf フレームワークをインストールする必要があります。 Composer を通じてインストールできます。コマンド ライン ツールを開いて次のコマンドを入力します。

C++ コードのログを管理するにはどうすればよいですか? C++ コードのログを管理するにはどうすればよいですか? Nov 03, 2023 pm 02:38 PM

ソフトウェア開発の継続的な発展に伴い、ログ管理はコード開発プロセスに不可欠な部分となっており、比較的複雑なプログラミング言語である C++ もコード開発中にログ管理を必要とします。この記事では、読者の役に立つことを願って、ログ管理の原則と C++ コードの具体的な実装を紹介します。 1. ログ管理原則によりログ レベルが決まり、ログ レベルはログ情報の重要性と緊急性を表します。 C++ 開発では、ログ レベルは DEBUG、INFO、WARN、ERROR、F に分類されます。

See all articles