Olay hub'ına günlüğe kaydetme

UYGULANANLAR: Tüm API Management katmanları

İlke, log-to-eventhub belirtilen biçimdeki iletileri günlükçü varlığı tarafından tanımlanan bir olay hub'ına gönderir. Adından da anlaşılacağı gibi ilke, çevrimiçi veya çevrimdışı analiz için seçilen istek veya yanıt bağlam bilgilerini kaydetmek için kullanılır.

Not

Olay hub'ı yapılandırma ve olayları günlüğe kaydetme hakkında adım adım kılavuz için bkz . Azure Event Hubs ile API Management olaylarını günlüğe kaydetme.

Not

İlkenin öğelerini ve alt öğelerini ilke bildiriminde sağlanan sırayla ayarlayın. API Management ilkelerini ayarlama veya düzenleme hakkında daha fazla bilgi edinin.

İlke bildirimi

<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>

Özellikler

Öznitelik Açıklama Zorunlu Varsayılan
günlükçü kimliği API Management hizmetinize kayıtlı günlükçü kimliği. İlke ifadelerine izin verilmez. Yes Yok
partition-id İletilerin gönderildiği bölümün dizinini belirtir. İlke ifadelerine izin verilmez. isteğe bağlı. Kullanılıyorsa partition-key kullanmayın. Yok
partition-key İletiler gönderildiğinde bölüm ataması için kullanılan değeri belirtir. İlke ifadelerine izin verilir. isteğe bağlı. Kullanılıyorsa partition-id kullanmayın. Yok

Kullanım

Kullanım notları

  • İlke Application Insights örneklemeden etkilenmez. İlkenin tüm çağrıları günlüğe kaydedilir.
  • Bu ilkeden bir olay hub'ına gönderilebilen desteklenen ileti boyutu üst sınırı 200 kilobayttır (KB). Olay hub'ına aktarılmadan önce daha büyük bir ileti otomatik olarak 200 KB'ye kesilir.

Örnek

Herhangi bir dize Event Hubs'da günlüğe kaydedilecek değer olarak kullanılabilir. Bu örnekte, tüm gelen çağrılar için tarih ve saat, dağıtım hizmeti adı, istek kimliği, IP adresi ve işlem adı, kimlikle contoso-logger kaydedilen olay hub'ına günlüğe kaydedilir.

<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>

İlkelerle çalışma hakkında daha fazla bilgi için bkz: