Spring Boot で log4j を使用してログを記録する方法の詳細な説明

黄舟
リリース: 2017-03-30 17:55:32
オリジナル
2112 人が閲覧しました

この記事では、Spring Boot での log4j の導入方法と基本的な使い方を中心に紹介します。必要な方はぜひ参考にしてください。

前書き

Spring Boot はすべての内部ログに Commons Logging を使用しますが、デフォルト設定では、Java Util Logging、Log4J、Log4J2、Logback などの共通ログのサポートも提供します。各ロガーは、コンソールまたはファイルを使用してログの内容を出力するように構成できます。この記事では Spring Boot で log4j を使ってログを記録する方法を中心に紹介しますので、興味のある方はぜひ一緒に学んでください。

log4j 依存関係の紹介

Spring Boot プロジェクトを作成するときに、spring-boot-starter-logging を含む spring-boot-starter を導入しました。依存関係の内容は
Spring Boot のデフォルトのロギング フレームワーク Logback です。 log4j の場合、次のように、このパッケージの依存関係を除外してから、log4j の依存関係を導入する必要があります:

<dependency> 
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter</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-log4j</artifactId>
</dependency>
ログイン後にコピー

log4j.properties を構成します

log4j の依存関係を導入した後は、src/main/ で log4j を構成するだけで済みます。 log4j.properties 構成ファイルをリソース ディレクトリに追加すると、アプリケーションのログの構成と使用を開始できます。

コンソール出力

以下の設定により、ルートログの出力レベルをINFOに設定し、アペンダーは標準出力をコンソールに出力します

# LOG4J配置
log4j.rootCategory=INFO, stdout
# 控制台输出
 log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
 log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 
 log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n
ログイン後にコピー

ファイルに出力します

開発環境では、問題はコンソールに出力されますが、運用環境またはテスト環境では、問題の原因の追跡を容易にするためにログの内容が保持される場合があります。
次のアペンダー コンテンツを追加して日ごとに異なるファイルに出力することもできます。また、log4j.rootCategory にアペンダーという名前のファイルを追加する必要があります。
このようにして、ルート ログを logs/all.log ファイルに出力できます。

#
log4j.rootCategory=INFO, stdout, file
# root日志输出
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.file.file=logs/all.log 
log4j.appender.file.DatePattern=&#39;.&#39;yyyy-MM-dd 
log4j.appender.file.layout=org.apache.log4j.PatternLayout 
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n
ログイン後にコピー

分類された出力

1. さまざまなパッケージに従って出力できます。 logs/my.log に出力されるアペンダを定義し、com.didispace パッケージ配下のログ レベルを DEBUG レベルに設定すると、アペンダは logs/my.log に出力される didifile という名前のアペンダに設定されます。

# com.juzi包下的日志配置
log4j.category.com.juzi=DEBUG, didifile
# com.didispace下的日志输出
log4j.appender.didifile=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.didifile.file=logs/my.log 
log4j.appender.didifile.DatePattern=&#39;.&#39;yyyy-MM-dd 
log4j.appender.didifile.layout=org.apache.log4j.PatternLayout 
log4j.appender.didifile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L ---- %m%n
ログイン後にコピー

は、ERROR レベルを特定のログ ファイルに出力するなど、さまざまなレベルを分類できます。具体的な構成は次のとおりです。

og4j.logger.error=errorfile 
# error日志输出
log4j.appender.errorfile=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.errorfile.file=logs/error.log 
log4j.appender.errorfile.DatePattern=&#39;.&#39;yyyy-MM-dd 
log4j.appender.errorfile.Threshold = ERROR 
log4j.appender.errorfile.layout=org.apache.log4j.PatternLayout 
log4j.appender.errorfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n
ログイン後にコピー
上記は、Spring Boot で log4j を使用してログを記録する方法の詳細な説明です。さらに関連する内容については、PHP 中国語 Web サイト (www.php.cn) に注目してください。

以上がSpring Boot で log4j を使用してログを記録する方法の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート