ファンクションの詳細
ファンクション・ログのロギング詳細。
リソース
- アプリケーション
ログ・カテゴリ
API値(ID): | コンソール(表示名) | 説明 |
---|---|---|
invoke | ファンクション呼出しログ | アプリケーションのファンクションが呼び出されるたびに、エントリをログに記録します。 |
可用性
ファンクション・ロギングは、商用レルムのすべてのリージョンで使用できます。
コメント
アプリケーションのロギングを有効にすると、アプリケーション内の関数が呼び出されるたびに、次のようにデフォルトの起動ログが作成されます。
-
デフォルトの起動ログには、次のメッセージが含まれています。
Received function invocation request
-
デフォルトの起動エンド・ログには、次のメッセージが含まれています(エラー・コードはエラーが発生した場合のみ含まれます)。
Served function invocation request in <number> seconds [with error code <number> - <message>]
関数(デフォルトの起動ログ以外)のログを格納および表示するには、関数にprint文を追加する必要があります。例:
-
Node.jsの場合:
console.log('Entering Hello Node.js function');
-
Javaの場合:
System.out.println("Entering Java Hello World Function");
-
Goの場合:
fmt.Println("Entering Hello Go function")
ファンクション・ログの内容
プロパティ | 説明 |
---|---|
specversion | Oracle Cloud Infrastructure Loggingのログのスキーマ・バージョン。 |
type | ログのカテゴリ。com.oraclecloud.{service}.{resource-type}.{log-category} という表記規則に従います。現在は次のみ:
|
source | ログが関連付けられているアプリケーションの表示名。 |
subject | ログが関連付けられているファンクションの表示名。 |
id | 各ログ・エントリに固有のランダムUUID。 |
time | ファンクション出力が生成された、RFC 3339タイムスタンプ・フォーマットの時間。 |
oracle.logid | Oracle Cloud Infrastructure Loggingのログ・オブジェクトのOCID。 |
oracle.loggroupid | Oracle Cloud Infrastructure Loggingのログ・グループのOCID。 |
oracle.compartmentid | ファンクション/アプリケーションが存在するコンパートメントのOCID。 |
oracle.tenantid | ファンクション/アプリケーションが存在するテナンシのOCID。 |
oracle.ingestedtime | ログ行がOracle Cloud Infrastructure Loggingによって収集された、RFC 3339タイムスタンプ・フォーマットの時間。 |
data.applicationId | ログ行が関連付けられているアプリケーションのOCID。 |
data.containerId | ファンクション・コンテナのFaaSサービス固有のID。 |
data.functionId | ログ行が関連付けられているファンクションのOCID。 |
data.requestId | ログ行が関連付けられているファンクション呼出しのOracle RID。非推奨です。かわりにdata.opcRequestIdを使用します。 |
data.opcRequestId | ログ行が関連付けられているファンクション呼出しのOracle RID。 |
data.src | data.messageのI/Oストリーム発生元。STDOUTまたはSTDERRのいずれか。 |
data.message | ファンクションからの出力のユーザー生成行。 |
ファンクション・ログの例
{
"specversion": "1.0",
"type": "com.oraclecloud.functions.application.functioninvoke",
"source": "Application display name",
"subject": "Function display name",
"id": "487c8669-f384-4c79-950a-d6df47246093",
"time": "2020-08-19T15:33:29.000Z",
"oracle": {
"logid": "ocid1.log.oc1.iad.<unique_ID>",
"loggroupid": "ocid1.loggroup.oc1.iad.<unique_ID>",
"compartmentid": "ocid1.compartment.oc1..<unique_ID>",
"tenantid": "ocid1.tenancy.oc1..<unique_ID>",
"ingestedtime": "2020-08-19T15:33:30.832Z"
},
"data": {
"applicationId": "ocid1.fnapp.oc1.iad.<unique_ID>",
"containerId": "01EG3NMHG6000000000000022S",
"functionId": "ocid1.fnfunc.oc1.iad.<unique_ID>",
"requestId": "/01EG3NN3C11BT19PGZJ00000VZ/01EG3NN3C11BT19PGZJ00000W0",
"opcRequestId": "/01EG3NN3C11BT19PGZJ00000VZ/01EG3NN3C11BT19PGZJ00000W0",
"src": "STDERR",
"message": "2020-08-19 15:33:29,124 - fdk.event_handler - INFO - request execution completed"
}
}
ファンクション・ログのオブジェクト名
ファンクション・ログ・データを格納するオブジェクトは、次の命名フォーマットを使用します:
log/<function-OCID>/<YYYY-MM-DDTHH_MMZ>[_<seqNum>].log.gz
例:
log/ocid1.function.oc1.phx.<unique_ID>/2019-03-21T00_00Z.log.gz log/ocid1.function.oc1.phx.<unique_ID>/2019-03-21T00_00Z_2.log.gz
コマンドライン・インタフェース(CLI)の使用方法
ファンクション・ロギングを有効にするコマンドの例は、ファンクションの例を参照してください。