Springbootログ統合ログバック
Javaには、log4j、log4j2、logback、Javaが提供するJava Util Loggingなど、多くのログコンポーネントがあります。実際、springbootはこれらのコンポーネントをサポートします。Log4j、log4j2、logbackはすべて、対応するコンポーネントをサポートします。
一、ログバック
springbootでデフォルトで使用されるロギングツールはlogbackですが、特定のロギングツールについて言及する前に、用語について言及する必要があります。この用語は、slf4j Simple Logging Facade For Java
Baidu百科事典はhttps://baike.baidu.com/item/slf4j/6408868を説明しました
slf4jは特定のログソリューションではありません。jdbcに少し似ています。ファサードモードを使用します。すべてのタイプのログの抽象実装です。抽象ログ実装であるため、springbootで追加のインポートを行う必要はありません。
注:spring-boot-starterは、spring-boot-starter-loggingへの依存関係を提供します。これは、spring-boot-starter-loggingで確認でき、slf4jとlogbackのデフォルトサポートの特定の実装を統合します。
2、コントローラーを編集します
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private final Logger logger=LoggerFactory.getLogger(UserController.class);
ブラウザで次のように入力します:localhost:8080 / hello、コンソールログの出力を確認できます
3、ログレベルの制御
デフォルトでは、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
4、ログファイル
通常の状況では、springbootログはコンソールにのみ出力され、ログファイルには書き込まれません。ただし、一部の正式な環境アプリケーションでは、logging.fileファイル名を構成してapplication.properitesファイルにログインする必要があります。 pathファイルパス。ログをログファイルに出力します。
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構成を使用します。
application.propertiesでlogging.file = F:\ log \ enjoy.logを構成します
このようにして、ログファイルはFドライブの対応する位置に表示されます