Springbootのデフォルトログ構成
SpringBootは箱から出しており、 Commons Loggingを使用してデフォルトでロギングフレームワークを提供しますが、デフォルトの構成は、Java Util Logging、Log4J、Log4J2、Logbackなどの一般的なログもサポートします。各ロガーは、コンソールまたはファイルを使用して、構成を介してログコンテンツを出力できます。
コンソール出力
ログログに関しては、最初の5つのログレベルはレベルです。高から低い、 ERROR 、 WARN 、 INFO 、 DEBUG 、およびTRACE 、低レベルは高レベルの情報を出力し、高レベルは低レベルの情報を出力しません。たとえば、レベルがERRORに設定されている場合、 WARN 、 INFO 、 DEBUGの情報は出力されません。スプリングブートでは、 ERROR 、 WARN 、 INFOレベルがデフォルトでコンソールに設定されます。ログバックにはFATALレベルはありません。 ERRORレベルとして扱われます。
2つの方法でデバッグレベルに切り替えることができます。
application.propertiesを構成します。このプロパティがtrueに設定されている場合、コアロガー(埋め込まれたコンテナ、冬眠、スプリングを含む)はより多くのコンテンツを出力しますが、自分で適用したログはデバッグレベルに出力されません。カラフルな出力
スプリングブートは、バージョン1.4.0以降のカラーログ出力をサポートしています。端末がANSIをサポートする場合、色の出力を設定すると、ログがより読みやすくなります。 spring.output.ansi.enabledパラメーターをapplication.propertiesに設定することでサポートされています。
NEVER :ANSI色の出力(デフォルトアイテム)を無効にするDETECT :端子がANSIをサポートするかどうかを確認します。はいの場合、色の出力(推奨アイテム)を使用しますALWAYS :常にANSI色の形式を使用して出力します。端末がそれをサポートしていない場合、多くの干渉情報があります。使用することはお勧めしません。ファイル出力
スプリングブートのデフォルトの構成はコンソールにのみ出力され、ファイルに記録されることはありませんが、通常、生産環境を使用するときはファイルに記録する必要があります。
ファイルの出力を増やすには、 logging.fileまたはlogging.path属性をapplication.propertiesで構成する必要があります。
logging.file :ファイルを設定します。ファイルは、絶対パスまたは相対パスにすることができます。例:logging.file = my.loglogging.path :ディレクトリの設定、spring.logファイルはこのディレクトリの下に作成され、logging.path =/var/logなどのログコンテンツが記述されます。ログファイルは10MBサイズで切り捨てられ、新しいログファイルになります。デフォルトのレベルは、エラー、ワーン、情報です
レベル制御
スプリングブートでは、 application.propertiesのログを完了するレベル制御を構成するだけでいいです。
構成形式:Logging.Level。*= level
logging.level :ログレベル制御プレフィックス、 *はパッケージ名またはロガー名ですLEVEL :オプションのトレース、デバッグ、情報、ワアーン、エラー、致命的、オフ例えば:
DEBUGレベルで出力されます。WARNレベルで出力されますカスタムログ構成
デフォルトの構成を使用したくない場合は、独自のログ構成ファイルを追加してください。ロギングサービスは通常、 ApplicationContextが作成される前に初期化されるため、 Springの構成ファイルを介して制御する必要はありません。したがって、ログの制御と管理は、システムプロパティと従来のスプリングブート外部構成ファイルを通じて、引き続き十分にサポートできます。
異なるロギングシステムに応じて、次のルールに従って構成ファイル名を整理でき、正しくロードできます。
Springbootは、ログ構成として-springを持つファイル名を使用するための公式推奨事項(logback.xmlの代わりにlogback-spring.xmlを使用するなど)
カスタム出力形式
Springbootでは、 application.propertiesで次のパラメーターを構成することにより、出力形式を制御できます。Properties:
logging.pattern.console :コンソールへのスタイル出力を定義します(JDKロガーはサポートされていません)logging.pattern.file :ファイルへの出力スタイルを定義します(JDKロガーはサポートされていません)これらの形式は、アプリケーション構成ファイルではなく、ログ構成ファイルに直接定義することもできます。
一般的なログバック構成ファイルテンプレート
<?xml version = "1.0" encoding = "utf-8"?> <configuration> <! - ログファイルのストレージアドレスを定義し、logbackの構成で相対パスを使用しない - > <プロパティ名= "log_home" value = " converterclass = "org.springframework.boot.logging.logback.colorconverter"/> <conversionRule ConversionWord = "wex" convertercrass = "org.springframework.boot.logging.logback.whiteSpacethrowableproxyverter" converterclass = "org.springframework.boot.logging.logback.extendedwhiteSpateSprowableproxyconverter"/> <! - color log format-> <property_log_pattern "value =" $ {console_log_pattern:-%clr(%d {yyymmdd HH:mm:ss.sss}){fise}%clr($ {log_level_pattern: - %5p})%clr($ {pid: - }){magenta}%clr( - ){insa}%clr([%15.15t]){simp}%clr(syan %clr(:){sime}%m%n $ {log_exception_conversion_word: - %wex}} "/> <! - コンソール出力設定 - > <appender name =" console "> <encoder> <! - 形式出力:%dは日付を表します、%dは、スレッド名を表します。 - > <! - <pattern>%d {yyyy-mm-dd hh:mm:mm:ss.sss} [%スレッド]%-5level%logger {36} - %msg%n </pattern> - > <pattern> $ {console_log_pattern} </pattern> <charset> <Appender name = "file"> <rolingpolicy> <! - log fileによるファイル名出力 - > <filenamepattern> $ {log_home}/mixedsys.%D {yyyy-mm-dd} .log </filenamepattern> </rollingpolicy> < HH:MM:SS.SSS} [%スレッド]%-5LEVEL%ロガー{36} - %MSG%N </pattern> </encoder> </appender> <! - logger(package.class) - > <logger name = "org.springframework.web.servlet.mvc.method.anycod.notedation. level = "debug"> <appender-ref ref = "console" /> <appender-ref ref = "file" /> < /logger name = "org.springframework.boot" level = "debug" /> <! - 冬眠sqlのカスタマイズ - > <! level = "trace" /> <logger name = "org.hibernate.type.descriptor.sql.basicextractor" level = "debug" /> <logger name = "org.hibernate.sql" level = "debug" /> <logger name = "org.hibernate.Engine.QueryParameters" /<logger name = "org.hibernate.engine.query.hqlqueryplan" level = "debug" /> - > <! - log output level-> <root level = "info"> <! - この時点で、デバッグレベル情報はフィルタリングされます - > <appender-ref ref = "console" /> <aspender-ref> <og asynly " <! - <appender name = "db">データベースに非同期にログ<ConnectionSource>接続プール<DataSource> <DriverClass> com.mysql.jdbc.driver </driverclass> <url> jdbc:mysql://127.0.0.0.1:3306/databasemame </dataSource> </connectionSource> </appender> - > </configuration>上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。