メインコンテンツまでスキップ

システムログの確認

ここでは、2種類のシステムログの概要と確認手順について説明します。

システムログとは

intra-mart Accel Platformの「システムログ」(system.log)は、システム基盤全体で発生するエラーや例外、重要なイベントを一元的に記録する統合ログです。これに対して、テナント単位で出力される「システムログ」(imtn_system_log)は、業務アプリケーション実行時の処理をデータベースのテーブルなどに詳細に記録するログです。

Accel Studioの「アプリケーション管理」画面では、このテナント単位の「システムログ」(imtn_system_log)の中から、特定のアプリケーションに紐づくリソース(ワークフローやロジック)に関するログを検索・閲覧できます。

項目intra-mart Accel Platformの「システムログ」
(system.log)
テナント単位で出力される「システムログ」
(imtn_system_log)
主な記録先   サーバ上のログファイルデータベースのテーブル
記録単位アプリケーションサーバ単位テナント単位
主な出力内容サーバの運用状態(起動・停止)やサーバ運用中に発生した各種エラーなどワークフローやロジックなどで発生したエラーや実行記録、アプリケーション固有のイベントやエラーなど
参照方法システム管理者により、サーバ上のファイルを参照Accel Studioの「アプリケーション管理」画面から検索・閲覧
主な用途システム全体の障害調査、運用監視、基盤エラーの追跡・管理など業務アプリケーション単位の障害調査、運用監視、テナントごとのエラー追跡・管理など
参考

intra-mart Accel Platformの「システムログ」(system.log)は、サーバ上の特定ディレクトリ(例:/log/platform/system.logなど)に保存されているため、通常のユーザにはアクセス権限がありません。「システムログ」(system.log)を確認したい場合は、システム管理者に依頼してください。なお、「システムログ」(system.log)の詳細については、「ログ仕様書 - システムログ」で確認できます。

基本操作

システムログを確認する

テナント単位で出力される「システムログ」(imtn_system_log)では、アプリケーションに紐づくリソースのログ情報が記録されます。

  • ワークフロー:IM-Workflowで作成した「案件終了処理」「到達処理」「ユーザ展開処理」で発生するログ情報
  • ロジックフロー:IM-LogicDesignerで作成したフロー内で発生するログ情報、および「ログ出力」タスクによって出力されるログ情報
参考

システムログの一覧を表示する

Accel Studioの「アプリケーション管理」画面から「システムログ」(imtn_system_log)の一覧を表示します。

  1. ログ]をクリックします。
    └ ログ一覧メニューが表示されます。
  2. システムログ一覧]をクリックします。
    └ 「システムログ一覧」画面が表示されます。
  3. 表示されているログの内容を確認します。
  • 実行日時:処理が実行された日時
  • リクエストID:リクエストを一意に識別するID
  • 詳細:エラーや例外が発生した際のスタックトレース
  • ログレベル:出力するログの詳細度
  • 実行ユーザ:処理を実行したユーザ
  • 製品カテゴリ:処理対象の製品や機能カテゴリ
  • 製品リソースID:実行されたワークフローやプロセスのID
  • ログメッセージ:発生したイベントや状態の詳細
  • ログメッセージキー:ログメッセージを特定するキー情報
参考

「アプリケーション管理」画面から確認できるログは、テナント単位で出力される「システムログ」(imtn_system_log)の内容が表示されます。詳細なログ項目や仕様については、「Accel Studio アプリケーション管理機能 仕様書 - 4.11.1.2. システムログ管理機能が扱う情報」を参照してください。

メモ

ログレベルは、出力するログの詳細度を表します。

  • ERROR:処理が失敗した事象を記録します。デバッグ時は、調査の起点(どこで失敗したか)として確認します。
  • WARN:処理は継続したが、想定外・注意が必要な事象を記録します。不具合の前兆や条件漏れがないかを確認するために参照します。
  • INFO:アプリケーションの通常動作や処理の節目を記録します。どこまで処理が進んだか、処理の流れを把握するために確認します。
  • DEBUG:デバッグや原因調査に必要な処理内容を記録します。分岐条件の評価結果や、処理前後の値を確認するために使用します。
  • TRACE:処理フローを詳細に追跡するためのログを記録します。DEBUGだけでは原因が特定できない場合に、処理単位の動きを追う目的で使用します。

システムログの一覧を検索する

「システムログ」(imtn_system_log)の表示結果を検索条件で絞り込みます。

  1. ]をクリックします。
    └ 検索パネルが表示されます。
  2. 検索条件を設定します。
    └ 設定項目は以下のとおりです。
  • 製品カテゴリ:「im_logic_designer」または「im_workflow」から選択
  • 実行日時:ログの検索開始から終了までの期間を入力
  • 実行ユーザ:実行したユーザ名を選択
  • ログレベル:ERROR, WARN, INFO, DEBUG, TRACEから選択
  • リクエストID:IDを入力
  • ログメッセージ:ログメッセージを入力
  • ログメッセージキー:ログメッセージを特定するキー情報を入力
  1. 検索]をクリックします。
    └ ログ一覧に検索結果が表示されます。

システムログの詳細を確認する

「システムログ」(imtn_system_log)の詳細では、エラーや例外が発生した際のスタックトレースを確認します。

  1. ]をクリックします。
    └ 「システムログ詳細」ダイアログが表示されます。
  2. システムログの詳細を確認します。
    └ 「システムログ一覧」画面の表示項目に加えて、「スタックトレース」の情報が表示されます。
  3. システムログに紐づくリクエストIDをクリックします。
    └ 「リクエストログ詳細」ダイアログが表示されます。
  4. リクエストログの詳細を確認します。
    └ 「リクエストログ一覧」画面の表示項目に加えて、「スタックトレース」の情報が表示されます。
参考

リクエストログの詳細については、「リクエストログの確認」を参照してください。

スタックトレースとは

スタックトレースは、処理がどの順序で実行され、どの箇所で問題が発生したかを示す情報です。スタックトレースを確認することで、アプリケーションやシステム内のどの処理で問題が起きたかを正確に追跡できます。詳細は、下記「スタックトレースの出力例と確認方法」で確認してください。

スタックトレースの出力例と確認方法

下記は、システムログで表示されるスタックトレースの例を一部抜粋したものです。

[2024-05-25 18:04:12] ERROR - javax.servlet.ServletException: サーブレットでエラーが発生しました。
at jp.co.example.web.ExampleServlet.doGet(ExampleServlet.java:50)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:109)
・・・
Caused by: java.lang.NullPointerException
at jp.co.example.logic.ExampleLogic.process(ExampleLogic.java:120)
... 35 more

スタックトレースでは、一番上に発生したエラーが表示され、その下にどのクラスファイル)のどのメソッド関数)の何行目で処理されていたかが段階的に示されます。一番下のCaused by以下には、根本原因が記載されています。

スタックトレースの確認方法

(1) 根本原因の確認
一番下のCaused byに記載された例外内容と例外メッセージを最初に確認します。

(2) 該当箇所の特定
スタックトレースに示されているクラス・メソッド・行番号をもとに、ソースコードや設定を参照します。

(3) 呼び出し元の追跡
上位にある呼び出し元クラス・メソッドを遡り、問題がどこから連鎖しているかを読み取ります。

(4) 報告・エスカレーション
システム管理者へのエスカレーション時は、ログ全文とスタックトレースを添えて連携すると解析がスムーズです。

システムログをエクスポートする

すべての「システムログ」(imtn_system_log)の結果をCSVファイルにエクスポートします。

  1. エクスポート]をクリックします。
    └ 「エクスポート確認」ダイアログが表示されます。
  2. エクスポート]をクリックします。
  • 「imtn_system_log.zip」ファイルが、お使いのPCの「ダウンロード」フォルダに保存されます。
  • ZIPファイルを解凍すると、ログ内容が記録されたCSVファイルを確認できます。
注意

大量のシステムログをエクスポートする場合、処理に時間がかかることがあります。その場合は、検索機能を利用して条件を絞り、複数回に分けてエクスポートしてください。検索機能については、上記「システムログの一覧を検索する」を参照してください。

コラム
  • 「システムログ一覧」画面でログを検索している場合は、検索条件で絞り込まれた結果のみがエクスポートされます。
  • スタックトレースは、各ログごとに別ファイルとして出力されます。

応用操作

ここでは、システム管理者またはテナント管理者に依頼することで実施できる操作を参考までに紹介します。

システムログの出力設定を変更する

テナント単位の「システムログ」(imtn_system_log)の出力設定では、ログ出力時のスタック量、ログの詳細度、出力対象の製品を指定できます。これにより、必要な情報を効率的に取得できるとともに、不要なログの出力を抑えてシステムの負荷を軽減できます。

設定できる主な項目は以下のとおりです。

  • スタック最大量stack-max-size):スタックトレースの最大出力行数を指定します。
  • 登録遅延時間logging-delay-sec):ログ出力の遅延時間を秒単位で指定します。
  • ログレベルlevel):出力するログの詳細度を指定します。tracedebuginfowarnerrorの順に、出力される情報量が少なくなります。traceは処理の詳細をすべて出力するため、ログ量が多くなり、システム負荷が高くなる点に注意してください。
  • 出力対象の製品disabled-products):ログ出力を無効にする製品を指定します。

この設定により、システム全体のログ管理を柔軟に制御できます。具体的な操作は、システム管理者またはテナント管理者に依頼してください。

参考

テナント単位の「システムログ」(imtn_system_log)の出力設定に関連する情報は、「設定ファイルリファレンス - データベース出力用ログ情報設定」を参照してください。

システムログを削除する

テナント単位の「システムログ」(imtn_system_log)を削除する場合は、データベースから削除する必要があります。データベースに蓄積されるシステムログが増えると、データベースの容量を圧迫する可能性があります。そのため、不要なシステムログは定期的に削除することが推奨されます。

システムログの削除は、ジョブ機能を利用することで、システム全体のログ管理を柔軟に制御できます。具体的な操作は、システム管理者またはテナント管理者に依頼してください。

参考

テナント単位の「システムログ」(imtn_system_log)の削除ジョブに関連する情報は、「ジョブ・ジョブネットリファレンス - データベースのシステムログ削除」を参照してください。