spring bootロギングの配置及び使用の詳細
前書き:この文章は基本的に翻訳された公式文書です。
spring bootはCommons Loggingを内部のログシステムとして使用し、Java Util Loggg、Log 4 J 2及びLogbackにデフォルトの設定を提供しました。spring bootのStartersを使用すると、デフォルトではログバックを使ってログを記録します。
一、Log format
spring bootでのデフォルトのログ出力フォーマットは以下の通りです。
2014-03-05 10:57:51.112 INFO 45469-[main]org.apanese.com re.StanddardEgine:
Starting Servlet Egine:Apache Tomcat/7.0.52
2014-03-05 10:57:51.253 INFO 45469-[ost-startStop-1]o.a.c.C.[Tomcat].[locashst].[/]
Initializing Spring embedded WebAppliation Conteet
2014-03-05 10:57:51.253 INFO 45469-[ost-startStop-1]o.s.web.com ntxt.context Loader:
Root WebAppliation Contect:initialization compleed in 1358 ms
2014-03-05 10:57:51.98 INFO 45469-[ost-startStop-1]o.s.b.c.e.ServletRegistration Bean:
Mapping servlet:'dispatcher Servlet'to[/]
2014-03-05 10:57:51.702 INFO 45469-[ost-startStop-1]o.s.b.embedded.FilterRegistration Bean:
Mapping filter:''hiddenHttp Methodfilter'to:'*'
以下の項目が出力されます。
1、日付と時間--ミリ秒まで正確に並べ替えて、時間によって簡単に並べ替えます。
2、ログレベル--ERROR、WARN、INFO、DEBUG、TRACE
3、プロセスID番号
4、ログの内容は「-」で区切ります。
5、スレッド名--括弧で囲まれています。
6、ログの名前--通常はクラス名に対応しています。
注意:LogbackはFATALレベルがありません(ERRORに写ります)
二、コンソール出力
デフォルトのログ構成は、コンソールに書き込むときにメッセージを返します。デフォルトではERROR、WARN、INFOレベルのメッセージを返します。起動時にも、debugモードを有効にしてください。起動コマンドは以下の通りです。java-jar yourap.jar--debug。
注意:あなたも同様にappication.propertiesプロファイルでdebug=trueを指定してdebugを開いてもいいです。モードが一旦debugモードを開くと、コンソールは同時にコンテナ情報、hibernate情報とspring bootの情報を出力します。
三、ファイル出力
デフォルトでは、spring bootはログファイルに出力されずにログを出力するだけです。ログファイルにログを書き込みたいなら、appication.propertiesプロファイルにloging.fileまたはloging.pathを設定する必要があります。
ここでは、またはここの関係です。つまり、loging.fileまたはloging.pathを設定すると、効果は同じです。
以下の表はどのようにプロファイル出力を行うかを表示します。
loging.file
loging.path
Example
説明
どちらも配置されていない場合は、コンサートにのみ出力されます。
ファイルを指定
my.log
指定されたログファイルを書き込みます。ファイル名は正確であることができます。
位置または相対ディレクトリ
指定されたディレクトリ
//var/log
ログファイルを指定されたディレクトリに書き込みます。ディレクトリは正確な位置または相対ディレクトリとすることができます。
デフォルトではログファイルのサイズが10 Mに達すると、切断されて新しいログファイルに出力されます。
注意:ログの構成は、実際のログコンポーネントと独立しています。つまり、Logbackに設定されている属性がlogback.co-figrationFileであれば、spring bootはログコンポーネントを管理しません。
四、ログレベル
すべてのサポートされているログシステムは、Spring Evironmentを通じてログレベルを指定できます。例えば、appication.propertiesは、「loging.level.*=LEVEL」を使用してログのレベルを指定できます。「LEVEL」の取得値はTRACE、DEBUG、INFO、WARN、ERROR、FATAL、OFFとなります。構成例は以下の通りです。
五、カスタムログ出力フォーマット
私達はloging.pattern.fileおよびloging.pattern.levelを通じて私達が必要とするログ出力フォーマットを設定できます。例えば:
六、ログ4 jを使って日記を打つ
前に述べましたが、デフォルトではログバックを使ってログシステムとして使っています。ログ4 jを使ってログを打ちたいなら、どうすればいいですか?私達はpomファイルにLog 4 jのstarterを加えてLogbackを排除したいです。
spring bootはCommons Loggingを内部のログシステムとして使用し、Java Util Loggg、Log 4 J 2及びLogbackにデフォルトの設定を提供しました。spring bootのStartersを使用すると、デフォルトではログバックを使ってログを記録します。
一、Log format
spring bootでのデフォルトのログ出力フォーマットは以下の通りです。
2014-03-05 10:57:51.112 INFO 45469-[main]org.apanese.com re.StanddardEgine:
Starting Servlet Egine:Apache Tomcat/7.0.52
2014-03-05 10:57:51.253 INFO 45469-[ost-startStop-1]o.a.c.C.[Tomcat].[locashst].[/]
Initializing Spring embedded WebAppliation Conteet
2014-03-05 10:57:51.253 INFO 45469-[ost-startStop-1]o.s.web.com ntxt.context Loader:
Root WebAppliation Contect:initialization compleed in 1358 ms
2014-03-05 10:57:51.98 INFO 45469-[ost-startStop-1]o.s.b.c.e.ServletRegistration Bean:
Mapping servlet:'dispatcher Servlet'to[/]
2014-03-05 10:57:51.702 INFO 45469-[ost-startStop-1]o.s.b.embedded.FilterRegistration Bean:
Mapping filter:''hiddenHttp Methodfilter'to:'*'
以下の項目が出力されます。
1、日付と時間--ミリ秒まで正確に並べ替えて、時間によって簡単に並べ替えます。
2、ログレベル--ERROR、WARN、INFO、DEBUG、TRACE
3、プロセスID番号
4、ログの内容は「-」で区切ります。
5、スレッド名--括弧で囲まれています。
6、ログの名前--通常はクラス名に対応しています。
注意:LogbackはFATALレベルがありません(ERRORに写ります)
二、コンソール出力
デフォルトのログ構成は、コンソールに書き込むときにメッセージを返します。デフォルトではERROR、WARN、INFOレベルのメッセージを返します。起動時にも、debugモードを有効にしてください。起動コマンドは以下の通りです。java-jar yourap.jar--debug。
注意:あなたも同様にappication.propertiesプロファイルでdebug=trueを指定してdebugを開いてもいいです。モードが一旦debugモードを開くと、コンソールは同時にコンテナ情報、hibernate情報とspring bootの情報を出力します。
三、ファイル出力
デフォルトでは、spring bootはログファイルに出力されずにログを出力するだけです。ログファイルにログを書き込みたいなら、appication.propertiesプロファイルにloging.fileまたはloging.pathを設定する必要があります。
ここでは、またはここの関係です。つまり、loging.fileまたはloging.pathを設定すると、効果は同じです。
以下の表はどのようにプロファイル出力を行うかを表示します。
loging.file
loging.path
Example
説明
どちらも配置されていない場合は、コンサートにのみ出力されます。
ファイルを指定
my.log
指定されたログファイルを書き込みます。ファイル名は正確であることができます。
位置または相対ディレクトリ
指定されたディレクトリ
//var/log
ログファイルを指定されたディレクトリに書き込みます。ディレクトリは正確な位置または相対ディレクトリとすることができます。
デフォルトではログファイルのサイズが10 Mに達すると、切断されて新しいログファイルに出力されます。
注意:ログの構成は、実際のログコンポーネントと独立しています。つまり、Logbackに設定されている属性がlogback.co-figrationFileであれば、spring bootはログコンポーネントを管理しません。
四、ログレベル
すべてのサポートされているログシステムは、Spring Evironmentを通じてログレベルを指定できます。例えば、appication.propertiesは、「loging.level.*=LEVEL」を使用してログのレベルを指定できます。「LEVEL」の取得値はTRACE、DEBUG、INFO、WARN、ERROR、FATAL、OFFとなります。構成例は以下の通りです。
logging.level.root=WARN #root WARN
logging.level.org.springframework.web=DEBUG #org.springframework.web DEBUG
logging.level.org.hibernate=ERROR #org.hibernate ERROR
もし、私達は私達のアプリケーションログのレベルを指定したいなら、私達も同じ方式を使ってもいいです。
logging.level.com.chhliu=INFO
上に配置されている「comp.chliu」は私達のアプリケーションのパッケージ名です。五、カスタムログ出力フォーマット
私達はloging.pattern.fileおよびloging.pattern.levelを通じて私達が必要とするログ出力フォーマットを設定できます。例えば:
logging.pattern.console=%d{yyyy/MM/dd-HH:mm:ss} [%thread] %-5level %logger- %msg%n
logging.pattern.file=%d{yyyy/MM/dd-HH:mm} [%thread] %-5level %logger- %msg%n
注意:以上の配置は、Logbackのみに作用します。六、ログ4 jを使って日記を打つ
前に述べましたが、デフォルトではログバックを使ってログシステムとして使っています。ログ4 jを使ってログを打ちたいなら、どうすればいいですか?私達はpomファイルにLog 4 jのstarterを加えてLogbackを排除したいです。
<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>
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。