Spring Bootのログ管理について詳しく解説
はじめに
Spring Boot はすべての内部ログで Commons Logging を使用しますが、デフォルト設定では一般的に使用されるログのサポートも提供されます
など: Java Util Logging、Log4J、Log4J2、Logback。各ロガーは、コンソールまたはファイルを使用してログの内容を出力するように構成できます。
ログ出力形式
2016-08-19 10:22:04.233 INFO 7368 --- [ main] com.juzi.AsyncTest : Started AsyncTest in 10.084 seconds (JVM running for 12.545)
出力コンテンツ要素は次のとおりです:
時刻と日付 - ミリ秒単位の精度
-
ログ レベル - エラー、警告、情報、デバッグまたはトレース
プロセス ID
区切り文字 ― ― 実際のログの開始を識別します
スレッド名 ― 角括弧で囲まれます (コンソール出力が切り詰められる場合があります)
ロガー名 ― 通常は、ソースコード
ログの内容
コンソール出力
Spring Boot では、ERROR、WARN、INFO レベルのログがデフォルトでコンソールに出力されるように構成されています。
2 つの方法で DEBUG レベルに切り替えることができます:
1 。コマンドの実行後にデバッグ フラグを追加します (例: $ java -jar myapp.jar debug
$ 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.file
或logging.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
TFhHTML5 Chinese Learning Network-HTML5 Pioneer Learning Network
application.properties
で debug=true
を設定します。このプロパティを true に設定すると、コア ロガー (埋め込みコンテナ、休止状態、および Spring を含む) が出力します。 updated 内容は豊富ですが、DEBUGレベルでは自作アプリケーションのログは出力されません。 🎜TFhHTML5 中国語学習ネットワーク - HTML5 パイオニア学習ネットワーク🎜🎜🎜🎜カラフルな出力🎜🎜 TFhHTML5 中国語学習ネットワーク - HTML5 パイオニア学習ネットワーク🎜🎜🎜 端末が ANSI をサポートしている場合、カラー出力を設定するとログが読みやすくなります。 application.properties
で spring.output.ansi.enabled
パラメータを設定することでサポートされます。 🎜TFhHTML5 中国語学習ネットワーク - HTML5 パイオニア学習ネットワーク 🎜🎜🎜 1.決してしない: ANSI カラー出力を無効にする (デフォルト項目) 🎜TFhHTML5 中国語学習ネットワーク - HTML5 パイオニア学習ネットワーク 🎜🎜🎜TFhHTML5 中国語学習ネットワーク - HTML5 パイオニア学習ネットワーク 🎜🎜 🎜 2.検出: 端末が ANSI をサポートしているかどうかを確認します。サポートしている場合は、カラー出力を使用します (推奨) 🎜TFhHTML5 中国語学習ネットワーク-HTML5 パイオニア学習ネットワーク🎜🎜🎜TFhHTML5 中国語学習ネットワーク-HTML5 パイオニア学習ネットワーク🎜🎜🎜 3.常に: 常に ANSI カラー形式の出力を使用してください。端末がサポートしていない場合は、多くの干渉情報が表示されます。🎜TFhHTML5 中国語学習ネットワーク - HTML5 パイオニア学習ネットワーク 🎜🎜🎜🎜 ファイル出力の使用はお勧めしません。 TFhHTML5 Chinese Learning Network - HTML5 Pioneer Learning Network 🎜🎜🎜 Spring Boot のデフォルト設定はコンソールに出力されるだけでファイルには記録されませんが、実稼働環境で使用する場合は通常、ファイルに記録する必要があります。 🎜TFhHTML5 Chinese Learning Network - HTML5 Pioneer Learning Network🎜🎜🎜 ファイル出力を増やすには、application.properties
で logging.file
または logging.path を構成する必要があります。
プロパティ。 🎜TFhHTML5 中国語学習ネットワーク - HTML5 パイオニア学習ネットワーク🎜🎜🎜 1. logging.file
でファイルを設定します。ファイルは絶対パスまたは相対パスで指定できます。例: logging.file=my.log
🎜TFhHTML5 中国語学習ネットワーク-HTML5 パイオニア学習ネットワーク🎜🎜🎜TFhHTML5 中国語学習ネットワーク-HTML5 パイオニア学習ネットワーク🎜🎜🎜 2.logging.path でディレクトリを設定すると、<code>spring.log
ファイルがこのディレクトリに作成され、次のようなログの内容が書き込まれます: logging.path=/var/log
🎜TFhHTML5 Chinese Learning Network - HTML5 Pioneer Learning Network🎜🎜🎜ログ ファイルはサイズが 10Mb になると切り捨てられ、新しいログ ファイルが生成されます。デフォルトのレベルは、ERROR、WARN、INFO *🎜 です。 TFhHTML5 中国語学習ネットワーク - HTML5 パイオニア学習ネットワーク🎜🎜 🎜🎜レベル制御🎜🎜TFhHTML5 中国語学習ネットワーク - HTML5 パイオニア学習ネットワーク🎜🎜🎜 Spring Boot では、application.properties でレベル制御を構成するだけで済みます。 code> を使用して、ログのレベル制御を完了します。 🎜TFhHTML5 中国語学習ネットワーク - HTML5 パイオニア学習ネットワーク🎜🎜🎜設定形式: <code>logging.level.*=LEVEL
🎜TFhHTML5 中国語学習ネットワーク - HTML5 パイオニア学習ネットワーク🎜🎜 1.logging.level
: ログ レベル制御プレフィックス、* はパッケージ名またはロガー名です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外部配置文件依然可以很好的支持日志控制和管理。
根据不同的日志系统,你可以按如下规则组织配置文件名,就能被正确加载:
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
TFhHTML5 中国語学習ネットワーク - HTML5 パイオニア学習ネットワーク
TFhHTML5 中国語学習ネットワーク - HTML5 パイオニア学習ネットワーク
2.レベル: オプション トレース、デバッグ、情報、警告、エラー、致命的、オフ🎜TFhHTML5 中国語学習ネットワーク-HTML5 パイオニア学習ネットワーク🎜🎜 🎜 例: 🎜TFhHTML5 Chinese Learning Network - HTML5 Pioneer Learning Network 🎜🎜🎜
logging.level.com.juzi=DEBUG com.juzi
パッケージ内のすべてのクラスは DEBUG レベルで出力されます 🎜TFhHTML5 Chinese Learning Network - HTML5 Pioneer Learning Network🎜🎜TFhHTML5 Chinese Learning Network-HTML5 Pioneer Learning Network🎜🎜🎜
logging.level.root=WARN
WARNレベルでルートログが出力されます🎜TFhHTML5 Chinese Learning Network -HTML5 Pioneer Learning Network 🎜🎜🎜カスタム ログ構成🎜TFhHTML5 Chinese Learning Network - HTML5 Pioneer Learning Network🎜🎜🎜ログ サービスは通常、ApplicationContext が作成される前に初期化されるため、初期化する必要はありません。 Spring の設定ファイルを通じて制御されます。 🎜TFhHTML5 Chinese Learning Network - HTML5 Pioneer Learning Network🎜したがって、ログの制御と管理は、システム プロパティと従来の Spring Boot 外部構成ファイルを通じて引き続き適切にサポートできます。 🎜TFhHTML5 中国語学習ネットワーク - HTML5 パイオニア学習ネットワーク 🎜🎜🎜 さまざまなログ システムに従って、次のルールに従って構成ファイル名を整理でき、正しくロードされます: 🎜TFhHTML5 中国語学習ネットワーク - HTML5 パイオニア学習ネットワーク 🎜 🎜🎜 1. Logback: logback-spring.xml、logback-spring.groovy、logback.xml、logback.groovy ログバック ログ設定🎜TFhHTML5 中国語学習ネットワーク-HTML5 パイオニア学習ネットワーク🎜
🎜TFhHTML5 中国語学習ネットワーク-HTML5 Pioneer Learning Network🎜 🎜🎜 2.Log4j: log4j-spring.properties、log4j-spring.xml、log4j.properties、log4j.xml🎜TFhHTML5 中国語学習ネットワーク-HTML5 パイオニア学習ネットワーク🎜
🎜TFhHTML5 中国語学習ネットワーク- HTML5 パイオニア学習ネットワーク 🎜🎜🎜 3.Log4j2: log4j2-spring.xml、log4j2.xml🎜TFhHTML5 中国語学習ネットワーク - HTML5 パイオニア学習ネットワーク🎜
🎜TFhHTML5 中国語学習ネットワーク - HTML5 パイオニア学習ネットワーク🎜🎜🎜 4. JDK (Java Util Logging):logging.properties🎜TFhHTML5 Chinese Learning Network - HTML5 Pioneer Learning Network🎜🎜🎜Spring Boot 公式推奨では、ログ構成として -spring を含むファイル名を優先的に使用することです (logback-spring の使用など)。 logback の代わりに .xml)🎜TFhHTML5 Chinese Learning Network-HTML5 Pioneer Learning Network🎜🎜🎜カスタマイズされた出力形式🎜TFhHTML5 Chinese Learning Network-HTML5 Pioneer Learning Network🎜🎜🎜 Spring Boot では、次のことができます。
application .properties
を渡します。次のパラメータを設定して出力形式を制御します: 🎜TFhHTML5 Chinese Learning Network - HTML5 Pioneer Learning Network🎜🎜🎜 1.logging.pattern.console
:コンソールへの出力のスタイルを定義します (JDK ロガーをサポートしていません) 🎜TFhHTML5 中国語学習ネットワーク - HTML5 パイオニア学習ネットワーク 🎜🎜TFhHTML5 中国語学習ネットワーク - HTML5 パイオニア学習ネットワーク 🎜🎜🎜 2.
logging.pattern .file
: ファイルのスタイルに出力を定義します (JDK ロガーはサポートされていません)🎜🎜🎜TFhHTML5 中国語学習ネットワーク - HTML5 パイオニア学習ネットワーク🎜🎜🎜以上がSpring Bootのログ管理について詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック








![Windows ISO ファイルが大きすぎる BootCamp エラー [修正済み]](https://img.php.cn/upload/article/000/887/227/170831702395455.jpg?x-oss-process=image/resize,m_fill,h_207,w_330)
Mac コンピュータで BootCampAssistant を使用しているときに「Windows ISO ファイルが大きすぎます」というエラー メッセージが表示される場合は、ISO ファイルのサイズが BootCampAssistant でサポートされている制限を超えていることが原因である可能性があります。この問題の解決策は、他のツールを使用して ISO ファイルのサイズを圧縮し、BootCamp アシスタントで処理できるようにすることです。 BootCampAssistant は、Mac コンピュータに Windows オペレーティング システムをインストールして実行するために Apple が提供する便利なツールです。ユーザーがデュアルブート システムをセットアップするのに役立ち、起動時に MacOS と Wind のどちらを使用するかを簡単に選択できるようになります。

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

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

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

win10システムを使用している場合、マウスを使用してデスクトップを右クリックしたり、右クリックメニューを実行したりすると、メニューが開かなくなり、コンピュータを正常に使用できなくなります。問題を解決するシステム。 Win10 の右クリック メニュー管理を開くことができません: 1. まずコントロール パネルを開き、クリックします。 2. 次に、「セキュリティとメンテナンス」の下をクリックします。 3. 右側をクリックしてシステムを復元します。 4. それでも使用できない場合は、マウス自体に問題がないか確認してください。 5. マウスに問題がないことを確認したら、+ を押して Enter を押します。 6. 実行が完了したら、コンピュータを再起動します。

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

JUnit は Spring プロジェクトで広く使用されている Java 単体テスト フレームワークであり、次の手順で適用できます。 JUnit 依存関係を追加します。 org.junit.jupiterjunit-jupiter5.8.1test テスト ケースを作成します。 @ExtendWith(SpringExtension.class) を使用して拡張機能を有効にします。 @Autowired を使用して Bean を注入し、@BeforeEach と @AfterEach を使用して準備とクリーンアップを行い、テスト メソッドを @Test でマークします。

バックエンド管理システムでは、通常、さまざまなユーザーのインターフェイスへのアクセスを制限するために、アクセス許可制御が必要です。ユーザーに特定の権限がない場合、特定のインターフェイスにアクセスできません。この記事では、waynboot-mall プロジェクトを例として、一般的なバックエンド管理システムがアクセス許可制御フレームワーク SpringSecurity を導入する方法を紹介します。 waynboot-mall プロジェクトアドレス: https://github.com/wayn111/waynboot-mall 1. SpringSecurity とは SpringSecurity は、Spring フレームワークをベースとした、強力かつ柔軟なセキュリティの提供を目的としたオープンソース プロジェクトです。 Java アプリケーションの場合。
