はじめに:Javaには、log4j、log4j2、logback、Javaが提供するJava Util Loggingなどの多くのログコンポーネントがあります。実際、springbootはこれらのコンポーネントをサポートします。Log4j、log4j2、logbackはすべて対応するコンポーネントをサポートします。
一、ログバック
1)springbootでデフォルトで使用されるロギングツールはlogbackですが、特定のロギングツールに言及する前に、用語を言及する必要があります。この用語はslf4j(Simple Logging Facade For Java)です。
2)Baidu百科事典の説明:
https :
//baike.baidu.com/item/slf4j/6408868 3)slf4jは特定のログソリューションではなく、ファサードモードを使用するjdbcに少し似ており、すべてのタイプのログを抽象化したものです。実装、これは抽象的なログ実装であるため、springbootに追加のインポートを行う必要はありません。
注:Spring-boot-starterは、spring-boot-starter-loggingへの依存関係を提供します。これは、spring-boot-starter-loggingで確認でき、slf4jのデフォルトサポートとlogbackの特定の実装を統合します。
1)UserControllerを変更します
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private final Logger logger = LoggerFactory.getLogger(UserController.class);
2)ブラウザでlocalhost:8080 / helloと入力すると、コンソールログの出力が表示されます。
1.1、ログレベル
コントローラを変更して、ログの出力をlogger.debug( "this is a hello log");に変更します。
この時点で再起動して再度呼び出すと、バックグラウンドで出力がないことがわかります。これは、ログレベルが機能しているためです。
- デフォルトでは、Spring BootはINFOログレベルを構成します。つまり、INFOレベルより上のログ(ERROR、WARN、INFO)を出力します。
デバッグレベルのログが必要な場合。src / main / resources /application.propertiesで構成します。
debug = true
- どのパッケージのログレベルを具体的に出力するようにlogging.level。*を構成します。
たとえば、
logging.level.root = INFO
logging.level.org.springframework.web = DEBUG
logging.level.cn.enjoy.controller = DEBUG
- このとき、springframework.webやcn.enjoy.controllerなどのデバッグログを出力できます。
1.2、ログファイル
-
通常の状況では、springbootログはコンソールにのみ出力され、ログファイルには書き込まれません。ただし、一部の正式な環境アプリケーションでは、logging.fileファイル名を構成してapplication.properitesファイルにログインする必要があります。パスファイルパス、ログをログファイルに出力します。
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構成を使用します。
2)application.propertiesで構成します
logging.file =F:\\log\\enjoy.log
这样在F盘的相应位置出现日志文件。。
2、log4j2
spring-boot-dependencies POMでspring-boot-starter-log4j2を検索すると
、Springブートの親Pomがこの依存関係を提供していることがわかったため、次のjar依存関係を追加します。
- pom.xmlファイルを変更します
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</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-log4j2</artifactId>
</dependency>
注意: 由于默认使用logback在扩展log4j2之前先要把logback移除
日志使用跟上面logback一样。
**次の章:**が更新されています。。。