4D v18ログファイルの詳細 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v18
ログファイルの詳細
|
フィールド名 | 詳細 |
sequence_number | ログセッション内で固有かつシーケンシャルなオペレーション番号 |
time | 'YYYY-MM-DDTHH:MM:SS.sss' のISO 8601 フォーマットを使用した日付と時間 |
systemid | システムID |
component | コンポーネント署名(例: '4SQLS' or 'dbmg') |
process_info_index | 4DRequestsLog_ProcessInfo.txtログの"index"フィールドに対応し、リクエストをプロセスへとリンクするのを可能にします。 |
request | C/SでのリクエストID、あるいはSQLリクエストまたはLOG EVENTメッセージ用のメッセージ文字列 |
bytes_in | 受信したバイト数 |
bytes_out | 送信したバイト数 |
duration | アクションを実行するにかかった時間(ミリ秒) |
server_duration | exec_duration | ログが生成された場所によって変わります:
|
write_duration | 次のものを送信するのにかかった時間(μs):
|
task_kind | プリエンプティブかコオペラティブか(それぞれ'p'と'c'で表される) |
rtt | クライアントがリクエストを送信してサーバーがそれを受け取るまでにかかる時間の概算(マイクロ秒単位)。以下の画像のAからDとEからHまでに相当します。
|
リクエストのフロー:
このログファイルはコマンドを実行した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 ログファイルも開始させます(上記参照)。
ヘッダー
このファイルは以下のヘッダーから始まります:
コンテンツ
各リクエストに対して、以下のフィールドが記録されます:
フィールド名 | 詳細 |
sequence_number | ログセッション内で固有かつシーケンシャルなオペレーション番号 |
time | "YYYY-MM-DDTHH:MM:SS.sss" のISO 8601 フォーマットを使用した日付と時間 |
process_info_index | 固有かつシーケンシャルなプロセス番号 |
CDB4DBaseContext | DB4DコンポーネントデータベースコンテキストUUID |
systemid | システムID |
server_process_id | サーバー上のプロセスID |
remote_process_id | クライアント上のプロセスID |
process_name | プロセス名 |
cID | 4D接続の識別子 |
uID | 4Dクライアントの識別子 |
IP | クライアントのIPv4/IPv6アドレス |
host_name | クライアントのホスト名 |
user_name | クライアント上のユーザーログイン名 |
connection_uuid | プロセス接続のUUID識別子 |
server_process_unique_id | サーバー上の固有プロセスID |
このログファイルは各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) //標準、全プロセスを記録
SET DATABASE PARAMETER(Current process 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) //拡張されたタブ分けされたフォーマット、全プロセスを記録
SET DATABASE PARAMETER(Current process debug log recording;2+4) //拡張されたタブ分けされたフォーマット、カレントプロセスのみを記録
それぞれのイベントに対し、以下のフィールドが記録されます:
カラム番号 | 詳細 | |||||||||
1 | ログセッション内で固有かつシーケンシャルなオペレーション番号 | |||||||||
2 | "hh:mm:ss:ms"フォーマットでの、ログが開始されてからの経過時間(この前に日付カウンターが追加されることもあります。例えば、ログの開始が3日前だった場合、経過時間は"3+11:58:23:163"のようになります)。 | |||||||||
3 | プロセスID | |||||||||
4 | 固有プロセスID | |||||||||
5 | スタックレベル | |||||||||
6 | 以下のいづれかを表示する可能性があります(8番目のカラムに記録されるエントリー型によります):
| |||||||||
7 | コマンド、メソッド、あるいはプラグインに渡された引数 | |||||||||
8 | ログオペレーション型。この値は原則として絶対値を取ります:
| |||||||||
9 | あればフォームイベント、それ以外の場合にはフォームイベント(このカラムはコードがフォームメソッドあるいはオブジェクトメソッド内で実行されている場合にのみ使用されます)。 | |||||||||
10 | マイクロ秒で記録された、カレントの記録されているアクション内での経過時間。スタックレベルを閉じる場合にのみ使用されます(上記のログの123行目と124行目の10番目のカラムを参照してください) |
このログファイルには4D アプリケーションとSMTP サーバーとの通信がそれぞれ記録されます。このファイルには2つのバージョンがあります:
SET DATABASE PARAMETER(SMTP Log;1) //smtp ログを開始
$server:=New object
...
$server.logFile:="MySMTPAuthLog.txt"
$transporter:=SMTP New transporter($server)
コンテンツ
各リクエストごとに、以下のフィールドが記録されていきます:
カラム番号 | 詳細 |
1 | ログセッション内で使用する重複不可かつシーケンシャルなオペレーション番号 |
2 | RFC3339 フォーマット(yyyy-mm-ddThh:mm:ss.ms) の日付と時間 |
3 | 4Dプロセス ID |
4 | 固有プロセス ID |
5 |
|
*警告: MIME コンテンツ(添付) はデータ量が大量になる可能性があります。これらのデータを保存するディスク上の十分なスペースが必ずあるようにください。
このログファイルにはリモートマシンが送信する ORDA リクエストが記録されます。ログ情報はメモリか、あるいはディスク上のファイルに書くことができ、ファイル名や保管場所も任意に決めることができます。
このログの開始方法:
// リモートマシンで実行します
ds.startRequestLog(File("/PACKAGE/Logs/ordaLog.txt")) // メモリに送ることもできます
注: ORDAリクエストログにおいてユニークな連続番号を使うには、次のように開始します:
// リモートマシンで実行します
SET DATABASE PARAMETER(Client Log Recording;1) // ログシーケンス番号の有効化
ds.startRequestLog(File("/PACKAGE/Logs/ordaLog.txt")) // メモリに送ることもできます
SET DATABASE PARAMETER(Client Log Recording;0) // ログシーケンス番号の無効化
各リクエストに対して、以下のフィールドが記録されます:
フィールド名 | 詳細 | 例 |
sequenceNumber | ログセッション内で固有かつシーケンシャルなオペレーション番号 | 104 |
url | クライアントの ORDA リクエスト URL | "rest/Persons(30001)" |
startTime | 開始日時 (ISO 8601 フォーマット) | "2019-05-28T08:25:12.346Z" |
endTime | 終了日時 (ISO 8601 フォーマット) | "2019-05-28T08:25:12.371Z" |
duration | クライアント処理時間 (ミリ秒) | 25 |
response | サーバーレスポンスオブジェクト | {"status":200,"body":{"__entityModel":"Persons",[...] |
プロダクト: 4D
テーマ: Debug log files
変更: 4D v17 R5
変更: 4D v17 R6
デザインリファレンス ( 4D v18)