Share via


記錄到事件中樞

適用於:所有 API 管理 層

log-to-eventhub 原則會將指定格式的訊息傳送至記錄器實體所定義的事件中樞。 正如其名稱所暗示,原則用於儲存選取的要求或回應內容資訊,以進行線上或離線分析。

注意

如需如何設定事件中樞和記錄事件的逐步指南,請參閱如何使用 Azure 事件中樞記錄 API 管理事件

注意

請依照原則陳述式中提供的順序,來設定原則的元素和子元素。 深入了解如何設定或編輯 APIM 原則

原則陳述式

<log-to-eventhub logger-id="id of the logger entity" partition-id="index of the partition where messages are sent" partition-key="value used for partition assignment">
  Expression returning a string to be logged
</log-to-eventhub>

屬性

屬性 描述 是必要欄位 預設
logger-id 向 API 管理服務註冊之記錄器的識別碼。 不允許使用原則運算式。 Yes N/A
partition-id 指定訊息傳送目的地的資料分割索引。 不允許使用原則運算式。 選擇性。 如果使用 partition-key,則請勿使用。 N/A
partition-key 指定在傳送訊息時,用來指派資料分割的值。 允許使用原則運算式。 選擇性。 如果使用 partition-id,則請勿使用。 N/A

使用方式

使用注意事項

  • 此原則不會受到 Application Insights 取樣的影響。 系統會記錄所有原則呼叫。
  • 此原則可傳送至事件中樞的支援訊息大小上限為 200 千位元組 (KB)。 較大的訊息會自動截斷成 200 KB,然後再傳送至事件中樞。

範例

任何字串皆可做為值來記錄到事件中樞內。 在此範例中,所有傳入呼叫的日期和時間、部署服務名稱、要求識別碼、IP 位址和作業名稱,都會記錄到以 contoso-logger 識別碼註冊的事件中樞記錄器內。

<policies>
  <inbound>
    <log-to-eventhub logger-id ='contoso-logger'>
      @( string.Join(",", DateTime.UtcNow, context.Deployment.ServiceName, context.RequestId, context.Request.IpAddress, context.Operation.Name) )
    </log-to-eventhub>
  </inbound>
  <outbound>
  </outbound>
</policies>

如需使用原則的詳細資訊,請參閱: