この記事では、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='.'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='.'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
og4j.logger.error=errorfile # error日志输出 log4j.appender.errorfile=org.apache.log4j.DailyRollingFileAppender log4j.appender.errorfile.file=logs/error.log log4j.appender.errorfile.DatePattern='.'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 サイトの他の関連記事を参照してください。