ファンクションの詳細

ファンクション・ログのロギング詳細。

リソース

  • アプリケーション

ログ・カテゴリ

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}という表記規則に従います。現在は次のみ:
com.oraclecloud.functions.application.functioninvoke
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)の使用方法

ファンクション・ロギングを有効にするコマンドの例は、ファンクションの例を参照してください。