この記事では、SLF4J+LOG4J2を統合するスプリングブートのサンプルコードを紹介します。それはあなたと共有されます。詳細は次のとおりです。
Maven依存関係
<! - log4j2依存関係の増加↓ - > <依存関係> groupid> org.springframework.boot </groupid> <artifactid> spring-boot-starter-log4j2 </artifactid> </dependency> <依存関係<除外> <! - 古いログ依存関係を削除 - > <除外> groupid> org.springframework.boot </groupid> <artifactid> spring-boot-starter-logging </artifactid> </exclusion <artifactid> spring-boot-starter-web </artifactid> <exclusions> <! - 古いログ依存関係を削除 - > <除外> groupid> org.springframework.boot </groupid> <artifactid> spring-boot-starter-logging </artifactid> </exclusions> </depenting>
他の依存関係にログログの競合がある場合、次の構成を追加できます。
<Explusions> <Explusion> <GroupId> log4j </groupId> <artifactid>*</artifactid> </exclusion> <explusion> <groupid> org.slf4j </groupId> <artifactid> </exclusion> <exclusion> <groupid> org.apache.logging.log4j </groupid> <artifactid>*</artifactid> </exclusion> </exclusions>
log4j2.xml
リソースディレクトリに入れます
<?xml version = "1.0" encoding = "utf-8"?> <! - 6つの優先度レベルは、オフ、致命的、エラー、警告、情報、デバッグ、トレース、すべてです。優先順位を警告するように設定されている場合、4つのレベルのログ、オフ、致命的、エラー、および警告は通常、オフに出力できます。これは、log4j2のログが記録されないことを意味します。 - > <! - ステータス:log4j自体の印刷ログレベルを指定するために使用されます。モニターインターバル:log4jの監視間隔時間を自動的に再構成します - > <configuration status = "monitorinterval =" 30 "> <! - $ {} - } - > <properties> <propation> <propation> <propation> <propation </properties> - > <付録> <! - Appender1。コンソールコンソールへの出力、出力形式とフィルターレベルを情報として指定します - > <コンソールname = "Console" Target = "System_out"> <!-throwedfilterは、ログメッセージの最低レベルの出力を指定します - > <shresholdfilter revelter = <onmatch = "/> pattern = "%d {hh:mm:ss.sss}%-5level%class {36}%l%m-%msg%xex%n"/> </console> <! - aprender 2。 filename = "$ {log_home}/all.log"> <threatholdfilter level = "all" onmatch = "Accept" onmismatch = "deny"/> <patternlayout charset = "utf-8"パターン= " %msg%xex%n "/> </file> <! - appender 3。スクロール保存ファイルにエクスポートし、ログファイルの保存をトリガーする条件は、ログファイルが3kbより大きく、最新の10ログのみが保存されていることです - > <rollingfile name =" debuglog "filename =" $ {log_home}/debug. filepattern = "$ {log.path}/debug-%I.log"> <thresholdfilter level = "debug" onmatch = "accept" onmismatch = "deny"/> <patternlayout charset = "utf-8" pattern = "[%-5level] [%d {yyymm-dd h:mm:mm: %m%n "/> <sizebasedtriggeringpolicy size =" 3kb "/> <! - defaultrolloversoverstrategyのパラメーターmaxは、サイズがサイズを超えた後、最大アーカイブを制限できます。保存ログファイルがトリガーされることは、1分あたりの最初のログイベントです。エラーログは数分で生成されます - > <rollingfile name = "errorlog" filename = "$ {log_home}/error.log" filepattern = "$ {log.path}/error-%d {yyyy-mm-dd_hhmm} .log"> <thresholdfilter = "entermatch ="/"/" enmatmatid " <patternlayout charset = "utf-8" pattern = "[%-5level] [%d {yyyyy-mm-dd hh:mm:ss}] [%c:%f:%l] - %m%n"/> <time-basedtriggeringpolicy/>> </lollingfile> filename = "$ {log_home} /rar.log" filepattern = "$ {log_home}/$$ {date:yyyy-mm}/$ {file_name} - %d {mm-dd-yyy} - %i.log.gz"> <patternOut charset = "utf-8" pitterm dd 'pitterm HH:MM:SS Z}%-5LEVEL%クラス{36}%L%M-%MSG%XEX%N "/> <! - 最大ログファイル値は翌日に圧縮されます - > <ポリシー> <TimeBasedTriggeringPolicy/> <loggers> <root level = "debug"> <appender-ref ref = "console"/> <! - <appender-ref ref = "alllog"/> - > <! - <appender-ref ref = "debuglog"/> - > <! - <appender-ref ref = "errorlog"/> </loggers> </configuration> logtest.java
import org.slf4j.logger; import org.slf4j.loggeractory; public class logtest {public final logger logger = oggerfactory.getLogger(getClass()); public static void main(string [] args){log.trace( "trace"); log.debug( "debug"); log.warn( "Warn"); log.info( "info"); log.error( "エラー"); }}上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。