アプリケーションログとWebサーバログ
アプリケーションログ
FRUCtoSはアプリケーションログをデフォルトでは標準出力へ出力しており、 dist/fructos_docker/
フォルダにて docker-compose logs
(docker-compose 1.xの場合)コマンドを発行することで確認できます。
また管理システムを用いてFRUCtoSを再起動すると、それ以降はアプリケーションログをFRUCtoS_tomcat
コンテナ内の/usr/local/tomcat/logs/
以下にファイル出力するようになります。
ログレベルの設定方法
アプリケーションログのログレベルは TRACE
、DEBUG
、INFO
、WARN
、ERROR
から選択でき、デフォルトではINFO
が選択されています。これはINFO
より詳細なログを出力するTRACE
またはDEBUG
を選択した場合、リソースの中身など個人情報もしくは要配慮個人情報が出力される可能性があり、デフォルトの設定としては不適と判断したためです。これらのログレベルを選択する場合は、アプリケーションログの取り扱いに十分ご注意ください。
各ログレベルの詳細はLogbackのマニュアル第2章 Architectureをご確認ください。
ログレベルの変更は、
- 設定ファイルの上書き
- 上書きした設定ファイルの反映(FRUCtoSの再起動)
の2ステップで実施します。
1. 設定ファイルの上書き
設定ファイルdist/fructos_docker/tomcat/config/logback.xml
の level
属性を任意のレベルに書き換えます。例えばroot
要素を
<root level="debug">
とすると、FRUCtoS全体のデフォルトのログレベルがDEBUGに設定されます。
なおroot
以外の要素にもlevel
属性がありますが、こちらは過度な出力を抑制するための設定になりますので、基本的には変更しないことをお勧めします。
2. 上書きした設定ファイルの反映(FRUCtoSの再起動)
設定ファイルの変更はFRUCtoSを再起動することで反映されます。
再起動の方法は下記の2通りです。
方法1: 管理システムを使用していない場合
下記の手順でFRUCtoSを再起動してください。
- FRUCtoSマニュアルの構築手順6.2 FRUCtoSの停止に従って、FRUCtoSを停止
- FRUCtoSマニュアルの構築手順6.3 FRUCtoSの起動に従って、FRUCtoSを起動
方法2: 管理システムを使用してる場合
管理システムの操作マニュアル4.2 FRUCtoS を起動/停止するに従い、FRUCtoSを再起動してください。
アプリケーションログの書式
設定ファイルで指定しているアプリケーションログの書式は下記の通りです。<リクエスト識別子>
はHTTPリクエスト毎に付与されるIDで、同じリクエストに関するログには同じ識別子がつけられます。
書式
<リクエスト識別子> - <タイムスタンプ> <ログの内容>
出力例
0a1941ef-17d3-4f59-b474-de52a6bcf838 - 2024-03-19T14:44:15.898+09:00 [http-nio-8080-exec-1] INFO jp.fructos.api.RestAPIServer handleRequest
設定が反映されないケース
本設定はFRUCtoSのウェブアプリケーションの設定のため、下記のケースでは上記の書式が反映されません。
- ウェブアプリケーションへ制御が移行する前のログは設定ファイルの対象外です。
- 例:
19-Dec-2023 18:16:27.589 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in [54230] milliseconds
- 例:
- ウェブ/APサーバを介さないログ出力の場合、リクエスト識別子は出力されません。
- 例:
- 2023-12-27T11:13:30.019+09:00 [HikariPool-1 housekeeper] WARN com.zaxxer.hikari.pool.HikariPool HikariPool-1 - Thread starvation or clock leap detected (housekeeper delta=22m21s630ms).
- 例:
Webサーバログ
アクセスログ等のWebサーバログはFRUCtoS_tomcat
コンテナ内の/usr/local/tomcat/logs/
以下にファイル出力されます。