4D v16.3

付録 E: ログファイルの詳細

ホーム

 
4D v16.3
付録 E: ログファイルの詳細

付録 E: ログファイルの詳細  


 

 

4D アプリケーションは、デバッグあるいは実行の最適化のために有用な複数のログファイルを生成することができます。ログは通常SET DATABASE PARAMETERあるいはWEB SET OPTIONコマンドのセレクターを使用して開始・停止され、データベースのLogsフォルダ内に保存されます(4Dファイルの説明を参照してください)。

記録された情報は、問題の検知と修正のためには分析する必要があります。この付録では以下のログファイルの包括的な詳細を提供します:

  • 4DRequestsLog.txt
  • 4DRequestsLog_ProcessInfo.txt
  • HTTPDebugLog.txt
  • 4DDebugLog.txt

これらのログファイルは、デバッグ中に時系列を確立しエントリー間のつながりを分かりやすくするために、いくつかのフィールドを共有しています:

  • sequence_number: この番号は全てのデバッグログ間で固有で重複せず、ログファイルに関わらず新しいエントリーごとに増加されるので、オペレーションの厳密な順番を知ることができます。
  • connection_uuid: 4Dクライアントで作成されサーバーに接続する4Dプロセスには、全てこの接続UUIDがサーバー側とクライアント側とで記録されます。これにより各プロセスをローンチしたリモートクライアントを簡単に識別することができます。

このログファイルはコマンドを実行した4D Serverマシン、あるいは4D リモートマシンによって実行された標準のリクエストを記録します(Webリクエストを除きます)。

このログの開始方法:

  • サーバー上:
     SET DATABASE PARAMETER(4D Server log recording;1) //server side
  • クライアント上:
     SET DATABASE PARAMETER(Client Log Recording;1) //remote side

注: この宣言は4DRequestsLog_ProcessInfo.txtも開始させます(以下参照)。

ヘッダー
このファイルは以下のヘッダーから始まります:

  • Logセッション識別子
  • アプリケーションをホストしているサーバーのホスト名
  • ユーザーログイン名: サーバー上で4Dアプリケーションを実行したユーザーのOS上のログイン名

コンテンツ
各リクエストに対して、以下のフィールドが記録されます:

フィールド名詳細
sequence_numberログセッション内で固有かつシーケンシャルなオペレーション番号
time'MM/DD/YY, HH:MM:SS'フォーマットを使用した日付と時間
task_id内部タスクID
componentコンポーネント署名(例: '4SQLS' or 'dbmg')
process_info_index4DRequestsLog_ProcessInfo.txtログの"index"フィールドに対応し、リクエストをプロセスへとリンクするのを可能にします。
requestC/SでのリクエストID、あるいはSQLリクエストまたはLOG EVENTメッセージ用のメッセージ文字列
bytes_in受信したバイト数
bytes_out送信したバイト数
durationアクションを実行するにかかった時間(ミリ秒)
task_kindプリエンプティブかコオペラティブか(それぞれ'p'と'c'で表される)
connection_uuid4D クライアント接続、SQL接続、あるいはHTTP接続かのUUID識別子(4DRequestsLog_ProcessInfo.txt内と同じ番号)

このログファイルはコマンドを実行した4D Serverマシン、あるいは4Dリモートマシンによって作成されたそれぞれのプロセスについての情報を記録します(Webリクエストを除きます)。


このログの開始方法:

  • サーバー上:
     SET DATABASE PARAMETER(4D Server log recording;1) //server side
  • クライアント上:
     SET DATABASE PARAMETER(Client Log Recording;1) //remote side

注: この宣言は4DRequestsLog.txt ログファイルも開始させます(上記参照)。

ヘッダー
このファイルは以下のヘッダーから始まります:

  • ログセッション識別子
  • アプリケーションをホストしているサーバーのホスト名
  • ユーザーログイン名: サーバー上で4Dアプリケーションを実行したユーザーのOS上のログイン名

コンテンツ

各リクエストに対して、以下のフィールドが記録されます:

フィールド名詳細
sequence_numberログセッション内で固有かつシーケンシャルなオペレーション番号
time'MM/DD/YY, HH:MM:SS'フォーマットを使用した日付と時間
index固有かつシーケンシャルなプロセス番号
CDB4DBaseContextDB4DコンポーネントデータベースコンテキストUUID
VTaskID内部タスクID
server_process_idサーバー上のプロセスID
remote_process_idクライアント上のプロセスID
process_nameプロセス名
cID4D接続の識別子
uID4Dクライアントの識別子
IPクライアントのIPv4アドレス
host_nameクライアントのホスト名
user_nameクライアント上のユーザーログイン名
connection_uuidプロセス接続のUUID識別子(4DRequestsLog.txt内と同じ番号)

このログファイルは各HTTPリクエストとそれぞれのレスポンスをrawモードで記録します。ヘッダーを含めたリクエスト全体が記録されます。オプションとして、ボディも記録することができます。

このログの開始方法:

 WEB SET OPTION(Web debug log;wdl enable without body//他の値も使用可能

リクエストとレスポンスの両方に対して以下のフィールドが記録されます:

フィールド名詳細
SocketID通信に使用されたソケットのID
PeerIPホスト(あるいはクライアント)のIPv4アドレス
PeerPortホスト(あるいはクライアント)が使用したポート番号
TimeStamp(システムが開始されてからの)ミリ秒単位でのタイムスタンプ
ConnectionID接続UUID(通信に使用されたVTCPSocketのUUID)
SequenceNumberログセッション内で固有かつシーケンシャルなオペレーション番号

このログファイルは4Dプログラミングレベルで発生するそれぞれのイベントを記録します。標準モードではイベントの基本的なビューを提供します。

このログの開始方法:

 SET DATABASE PARAMETER(Debug Log Recording;2) //標準

それぞれのイベントに対して、以下のフィールドが記録されます:

カラム番号詳細
1ログセッション内で固有かつシーケンシャルなオペレーション番号
2ログの開始からのミリ秒単位での経過時間
3プロセスID (p=xx)と固有プロセスID(puid=xx)
4スタックレベル
5コマンド名/メソッド名/メッセージ/タスクの開始・停止情報/プラグイン名、イベント、あるいはコールバックUUIDまたは接続UUID
6ログオペレーションにかかった時間(ミリ秒単位、2番目のカラムとは異なる)

このログファイルは4Dのプログラミングレベルで発生するそれぞれのイベントを、タブ分けされた、(標準のフォーマットに比べて)追加された情報を含むコンパクトなフォーマットで記録します。

このログの開始方法:

 SET DATABASE PARAMETER(Debug Log Recording;2+4) //拡張されたタブ分けフォーマット

それぞれのイベントに対し、以下のフィールドが記録されます:

カラム番号詳細
1ログセッション内で固有かつシーケンシャルなオペレーション番号
2"hh:mm:ss:ms"フォーマットでの、ログが開始されてからの経過時間(この前に日付カウンターが追加されることもあります。例えば、ログの開始が3日前だった場合、経過時間は"3+11:58:23:163"のようになります)。
3プロセスID
4固有プロセスID
5スタックレベル
6以下のいづれかを表示する可能性があります(8番目のカラムに記録されるエントリー型によります):
  • ランゲージコマンドID(type=1の場合)
  • メソッド名(type=2の場合)
  • pluginIndex;pluginCommandの組み合わせ(type=4, 5, 6 あるいは 7の場合)例えば'3;2'などのようになります
  • タスク接続UUID (type=8の場合)
  • あるいはスタックレベルを閉じる場合には'starting sequence number'(これはカレントのアクションの開始のシーケンス番号に対応するはずです)
  • 121  15:16:50:777  5  8  0  CallMethod  2  0
    122  15:16:50:777  5  8  1  283  1  0
    123  15:16:50:777  5  8  1  122  -1  0  3
    124  15:16:50:777  5  8  0  121  -2  0  61
    この最後の行(124)では、6番目のカラムの値'121'は最初の行のシーケンス番号(スタックレベル0)に対応します。その上の行(123)におていは、6番目のカラムの値'122'はその上の行のシーケンス番号(スタックレベル1)に対応します。
    7コマンド、メソッド、あるいはプラグインに渡された引数
    8ログオペレーション型。この値は原則として絶対値を取ります:
    1:コマンド
    2:メソッド
    3: メッセージ(LOG EVENTコマンドによって送信されたもののみ)
    4: プラグインメッセージ
    5: プラグインイベント
    6: プラグインコマンド
    7: プラグインコールバック
    8: タスク
    値が負の値である場合、対応する正の値のスタックレベルを閉じているという意味です(上記のログの123行目と124行目の8番目のカラムを参照してください)。
    9あればフォームイベント、それ以外の場合にはフォームイベント(このカラムはコードがフォームメソッドあるいはスクリプト内で実行されている場合にのみ使用されます)。
    10マイクロ秒で記録された、カレントの記録されているアクション内での経過時間。スタックレベルを閉じる場合にのみ使用されます(上記のログの123行目と124行目の10番目のカラムを参照してください)

     
    プロパティ 

    プロダクト: 4D
    テーマ: 付録

     
    履歴 

    New
    初出: 4D v16

     
    ARTICLE USAGE

    デザインリファレンス ( 4D v16)
    デザインリファレンス ( 4D v16.1)
    デザインリファレンス ( 4D v16.3)