ログのテーブルおよびビュー
ログモデルは、アプリケーションの実行の妨げに極力ならないように設計されています。そのため、ログテーブルのインデックスは限られており、クエリに対しては効率が悪くなります。ログの量や使用目的に応じて、ログデータベースからクエリに最適化されたモデルを作成できる個別の場所にデータをコピーすることを推奨します。
ログタイプごとのデータベースモデルの構成要素は以下のとおりです。
oslog_<タイプ>_0
からoslog_<タイプ>_9までの10個のテーブルセット。
- 現在の週にマッピングされた
oslog_<タイプ>
と前の週にマッピングされたoslog_<タイプ>_Previous
の2つのビュー。
たとえば、Errorタイプの場合、テーブルはoslog_Error_0
からoslog_Error_9
まであり、ビューはoslog_Error
とoslog_Error_Previous
があります。_0
から_9
までの数字はローテートされるテーブルを指します。
OutSystems 10の「ログのテーブルおよびビュー」もご覧ください。
データベースのプラットフォームログの種類
ログ情報には、エンドユーザーまたは外部システムによるアプリケーションへのアクセスのライフサイクルが記録されます。ログが2種類あるのはそのためです。
トップレベルのログ
トップレベルのログは、プラットフォームへの個別のアクセスに直接マッピングされるログです。トップレベルのログは、ログの分析において「トップレベルのオブジェクト」と見なされます。つまり、これらのログにはそれぞれ、このエントリに関連する他の種類のログが0個以上あることになります。マッピングには[request_key
]フィールドを使用します。
「トップレベル」と見なされるのは以下のログです。
- 画面 - このログのエントリ1つに対し、モバイルデバイスのWebアプリケーションまたはレスポンシブWebアプリケーションへのアクセスが1つマッピングされます。
- 連携(サブタイプが「公開」)- このログのエントリ1つに対し、プラットフォームが公開するWebサービスへのアクセス(SOAPまたはREST)が1つマッピングされます。
- モバイルリクエスト - このログのエントリ1つに対し、モバイルWebアプリケーションのサーバー側ロジックへのアクセスが1つマッピングされます。
- 反復ジョブ - このログのエントリ1つに対し、バッチジョブまたはタイマーによる実行が1つマッピングされます。
ドリルログ
ドリルログは、アクセスの結果をアプリケーションが実行したアクティビティまで掘り下げます。ドリルログは、アプリケーションが実行したリクエスト(「トップレベルオブジェクト」)と詳細アクティビティのコンテキスト内に存在します。
「ドリル」と見なされるのは以下のログです。
- エラー
- 全般
- 連携(サブタイプが「利用中」)
- エクステンション
複雑なアプリケーションアーキテクチャでは、「エンドユーザーのリクエスト」が複数の「トップレベル」オブジェクトに変換される場合があることにご注意ください。たとえば、WebアプリケーションのScreenは、プラットフォームでローカルのRESTサービスを呼び出す場合があります。その場合、連携呼び出しが実行された時点でマッピングが失われるため、request_key
を使用してそのリクエストを最後までマッピングし続けることはできません。
また、モデルの詳細で分かるように、Errorタイプのログは他のドリルログに関連して発生する場合があることにご注意ください。そのため、トップレベルオブジェクト(Mobile Requestなど)のエラーは、ドリルオブジェクト(連携呼び出しなど)のエラーによって解明できます。
ログのローテーション
ログは毎週別のテーブルに保存されます。ローテーションは毎週金曜日の午後11時45分(データベース時間)に実行されます。特定の週では、すべてのログタイプに対して同じサイクル数が使用されます。サイクル数は、現在の日付から算出されます。このために、数式<2000年1月1日から現在までの週数> MOD 10
を使用します。
ローテーションの意味は以下のとおりです。
- ログタイプごとにデータベースのビュー定義が次のサイクル数へのポイントに更新されます。
- テーブルでのログの書き込みが新しいサイクルから自動的に開始されます。この部分は、Deployment Controller Serviceでアルゴリズムによって生成され、このためにデータベースが変更されることはありません。
- 古いログテーブルは、OutSystemsのConfiguration Toolで定義された保存期間が経過すると消去され、その後の使用に備えます。OutSystems PaaSで設定された保存期間は9週間です。