4.6. ロギング¶
IM-LogicDesignerのロギング機能は、ロジックフローの実行ログをデータベースへ出力します。
これにより、特定のロジックフローに関する統計情報の可視化を行うといった事が可能です。
4.6.1. ロギング機能の有効化¶
ロギング機能はデフォルトで有効化されていません。
ロギング機能を利用するにはシステムプロパティを指定します。
システムプロパティの設定方法はアプリケーションサーバ毎に異なります。
-Dlogicdesigner.logging=true
コラム
Resinにおけるシステムプロパティの指定方法
Resinにおけるシステムプロパティの指定は、<${resin.home}/conf/resin.properties> ファイルに設定内容を追記します。
<resin.properties> ファイル内に jvm_args 項目がある為、その項目に追記を行ってください。
4.6.2. ログ出力先のテーブル構成¶
IM-LogicDesignerのロギング機能では、 imld_log テーブルに対して実行時のログが出力されます。
| カラム名 | データ型 | 説明 | 
|---|---|---|
| execution_id | 文字列 (主キー) | ロジックフローの実行単位毎に採番される一意となるIDです。 | 
| execution_no | 数値 (主キー) | ロジックフロー内のイベント毎に採番される0から始まる連番です。 | 
| event_type | 文字列 (NOT NULL) | BEGIN_FLOW: フロー開始 
END_FLOW: フロー終了 
ERROR_FLOW: フローエラー終了 
BEGIN_TASK: タスク開始 
END_TASK: タスク終了 
ERROR_TASK: タスク実行失敗 
BEGIN_ERROR_FLOW: エラー処理フロー開始 
END_ERROR_FLOW: エラー処理フロー終了 
 | 
| flow_id | 文字列 (NOT NULL) | フローID | 
| flow_version | 数値 | フローバージョン | 
| thread | 文字列 | 実行Javaスレッド名 | 
| executor | 文字列 | 実行ユーザコード | 
| parent_flow_id | 文字列 | 親フローID | 
| execute_id | 文字列 | 実行ID (配置されたタスクに割り当てられたID) | 
| task_id | 文字列 | タスクID (特定のタスクの種類に関して絞り込む際に利用します) | 
| task_version | 数値 | タスクバージョン (ユーザ定義の場合のみ) | 
| task_type | 文字列 | タスク種別 (ユーザ定義の判別に利用します) | 
| duration | 数値 | 処理時間 (ミリ秒) | 
| execution_time | 日時 | 実行日時 | 
| error_message | 文字列 | エラーメッセージ (メッセージの文字長により切り捨てられる場合があります) | 
| reserved01 | 文字列 | 予約項目01 (タスクにより格納される値が異なります) | 
| reserved02 | 文字列 | 予約項目02 (タスクにより格納される値が異なります) | 
| reserved03 | 文字列 | 予約項目03 (タスクにより格納される値が異なります) | 
| reserved04 | 文字列 | 予約項目04 (タスクにより格納される値が異なります) | 
| reserved05 | 文字列 | 予約項目05 (タスクにより格納される値が異なります) | 
| reserved06 | 文字列 | 予約項目06 (タスクにより格納される値が異なります) | 
| reserved07 | 文字列 | 予約項目07 (タスクにより格納される値が異なります) | 
| reserved08 | 文字列 | 予約項目08 (タスクにより格納される値が異なります) | 
| reserved09 | 文字列 | 予約項目09 ( タスクにより格納される値が異なります) | 
| create_user_cd | 文字列 (NOT NULL) | 作成者コード | 
| create_date | 日時 (NOT NULL) | 作成日時 | 
| record_user_cd | 文字列 (NOT NULL) | 更新者コード | 
| record_date | 日時 (NOT NULL) | 更新日時 | 
4.6.3. 利用時の注意点¶
上記の imld_log テーブルはインデックスが用意されていません。
特定のカラムを絞り込み条件とする、集計するといったクエリを発行する場合には適切なインデックスを用意してください。
ロジックフローの実行毎に、そのロジックフロー内に配置されているフローの開始、終了、およびタスク数分の開始、終了のレコードが登録されます。
そのため、長期間の運用では大量のレコード数となる場合があります。
適切なタイミングでレコードの削除、退避等を検討ください。