Skip to main content
Çalışma zamanınız için LogBrew SDK paketini kurun. SDK olayları biçimlendirir ve gönderir. Paket rehberi olay türlerini, sınırları ve yeniden deneme davranışını listeler. Her entegrasyon için şu adımları uygulayın:
  1. Çalışma zamanınız için SDK paketini kurun.
  2. Projeye özel alım anahtarını (ingest key) kaynak kontrolünün dışında tutun.
  3. Kararlı hizmet, ortam ve sürüm değerleri ayarlayın.
  4. Uygulamadan güvenli bir test olayı gönderin.
  5. Gönderim sonucunu okuyun. Ardından olayı LogBrew’de bulun.
Kabul edilen bir toplu gönderim LogBrew API’sine ulaşmıştır. Filtreler yine de olaylarını gizleyebilir. Doğru projeyi ve zaman aralığını seçin. Ardından hizmeti, ortamı, sürümü ve sinyal türünü eşleştirin. Yakalamayı açmadan önce onaylı alanları seçin ve test edin. Analizler’i doldurmak için Ürün olaylarını yakalama sayfasını izleyin.

Sinyaller ve ortak bağlam

İlk beş kart sinyaldir. Sürüm ve ortam bu sinyallerin bağlamıdır. Ayrı bir olay türü değildir.

log

Önem düzeyi, kaynak, zaman ve güvenli bağlam içeren yapılandırılmış bir mesaj.

trace_span

İz ve span kimlikleriyle izine bağlanan, süresi ölçülmüş tek bir işlem.

issue

Yakalanan bir hata, önem düzeyi ve uygulamanın gönderdiği hata ayrıntıları.

action

Uygulamanızdaki bir aksiyon; isteğe bağlı özne, oturum ve güvenli özelliklerle.

metric

Adı, türü, değeri, birimi ve zamansallığı olan tek bir sayısal ölçüm.

release ve environment

Aynı SDK kapsamındaki sonraki olaylara eklenen kod sürümü ve ortam.

Önem düzeyi değerleri

Loglar ve sorunlar için info, warning, error veya critical kullanın. SDK’lar ve çalışma zamanları trace, debug, warn veya fatal gibi takma adlar gönderebilir. LogBrew kabul edilen takma adları standart değerlere dönüştürür.

Paket yöneticisiyle kurulum

Telemetri gönderen çalışma zamanı için SDK paketini kurun. LogBrew’ün verdiği projeye özel SDK veya veri alımı yapılandırmasını kullanın. Hesap giriş bilgilerini SDK yapılandırması olarak kullanmayın.

Node.js istek izleme

İstek kökü iz ilişkisi için @logbrew/sdk 0.1.16 veya üstünü ve @logbrew/node 0.1.11 veya üstünü kullanın. Express için @logbrew/express 0.1.5 veya üstü gerekir. Fastify ve NestJS için kendi LogBrew paketlerinin 0.1.6 veya üstü gerekir. Bu entegrasyonlar bir istek span’i oluşturur veya mevcut olanı sürdürür. Span adı, eşleşen rota şablonunu kullanır. İstek içindeki loglar, sorunlar, aksiyonlar ve metrikler isteğin iz ve span bağlamını devralır. Daha yeni bir paket, yükseltmeden önce gönderilen olaylara bağlam eklemez. Varsayılan istek entegrasyonu istek veya yanıt gövdelerini, sorgu dizelerini, rastgele başlıkları veya ham traceparent değerlerini yakalamaz.

ASP.NET Core

CLI v0.1.55 veya üstü, Microsoft.NET.Sdk.Web kullanan .NET 10 projelerini algılar. Kurulum planını proje kökünden önizleyin. Bu komut dosyalarınızı değiştirmez:
Yayımlanan plan, host entegrasyonunu kurar:
LOGBREW_SERVER_API_KEY, LOGBREW_SERVICE_NAME, LOGBREW_ENVIRONMENT ve LOGBREW_RELEASE değerlerini kaynak kontrolünün dışında ayarlayın. LogBrew’ü host’a kaydedin ve ara yazılımını yönlendirmeden sonra yerleştirin:
LOGBREW_SERVER_API_KEY yoksa iki kayıt çağrısı da güvenli şekilde hiçbir şey yapmaz. ASP.NET Core NuGet paketi, yayımlanan host entegrasyonunu tanımlar. Herkese açık paket rehberi; host yaşam döngüsünü, istek yakalamayı, sorun yakalamayı, gizlilik sınırlarını ve kurtarmayı anlatır.

Maven veya Gradle ile Java

CLI v0.1.54 veya üstü pom.xml, build.gradle ve build.gradle.kts dosyalarını algılar. Kurulum planını proje kökünden önizleyin. Bu komut dosyalarınızı değiştirmez:
Maven için yayımlanan paketi ekleyin:
Gradle Kotlin DSL için aynı Maven Central paketini ekleyin:
Java 11 veya üstünü kullanın. Spring Boot 3 ve 4 uygulamaları, uygulamanın sahip olduğu bir LogBrewClient bean’i sunabilir. Bu bean isteğe bağlı istek, istisna, HTTP istemcisi, JDBC ve önbellek entegrasyonlarını etkinleştirir. Spring Kafka yakalama yalnızca logbrew.kafka.enabled=true ile açıkça etkinleştirildiğinde çalışır. Uygulamanın mevcut Spring Kafka bağımlılığını ve istemci bean’ini kullanır. Maven Central’daki Java SDK paketi yayımlanan paketi tanımlar. Herkese açık rehberi; sınırlı HTTP gönderimini, kapatmayı, loglamayı, Spring yapılandırmasını, Kafka ilişkisini ve gizlilik sınırlarını anlatır.

CMake ile C++

C++ SDK’sı için C++17 ve CMake 3.16 veya üstü gerekir. CLI v0.1.39 veya üstü, kökteki CMakeLists.txt dosyasını algılar. Dosyalarınızı değiştirmeden bu kurulum planını önizlemek için logbrew setup --json komutunu çalıştırın:
Çekirdek hedefin bağımlılığı yoktur. Toplu gönderimleri isteğe bağlı libcurl taşıyıcısı üzerinden göndermek için yukarıdaki son FetchContent_MakeAvailable çağrısını ve hedef bağlantısını şununla değiştirin:
Uygulamayı yapılandırın. Ardından seçilen SDK sürümünü test etmek için derleyin:
SDK monorepo’sunu indiremeyen derlemeler için C++ 0.2.3 sürümündeki logbrew-cpp-0.2.3.tar.gz dosyasını kullanın. Açılan paket cmake --install ve find_package(LogBrew 0.2.3 CONFIG REQUIRED) destekler. Paket rehberi; tipli bağlamı, sorun kanıtını, span olaylarını, metrikleri, aksiyonları ve HTTP gönderimini anlatır.

JavaScript source map’leri

Vite derlemeleri için JavaScript source map’leri sayfasını izleyin. Sayfa eklentiyi, derleme dosyası anahtarını, yükleme kontrollerini ve orijinal kaynak konumlarını gösteren yeni bir sorunu anlatır.

Apple, Flask ve React Native

Telemetri için LogBrew Swift ürününü kullanın. LogBrewCrash ürününü yalnızca Apple çökme veya donma yakalama için ekleyin. dSYM yükleme ve barındırılan sembolleştirme için Apple çökmelerini ve donmalarını yakalayın sayfasını izleyin. Flask için Flask’ı kurun sayfasını izleyin. React Native ve Expo için React Native sayfasını izleyin. Sayfa proje anahtarını, güvenli bir test logunu, gönderim hatalarını ve production source map’leri için Expo Metro yapılandırmasını anlatır.

JavaScript kuyruk izleme

Node kuyruk entegrasyonları ayrı npm paketleridir. Temel LogBrew JavaScript paketlerini, entegrasyon paketini ve uygulamanızın zaten kullandığı kuyruk veya broker istemcisini kurun. Bu paketleri, seçtiğiniz kuyruk çağrıları etrafında uygulamanın açıkça yönettiği iz ilişkisi için kullanın. LogBrew broker bağlantınızı yönetmez, kuyruk oluşturmaz ve varsayılan olarak tüm istemcileri genel olarak değiştirmez.
Kuyruk mesajlarının içeriğini, rastgele mesaj başlıklarını, broker URL’lerini ve oturum veya hesap bearer değerlerini SDK yapılandırmasının dışında tutun. LogBrew’ün verdiği projeye özel sunucu veri alımı yapılandırmasını kullanın.

Doğrudan yerel zarf

POST /api/telemetry/ingest uç noktasını yalnızca hiçbir herkese açık LogBrew SDK’sının desteklemediği özel bir istemci için kullanın. Herkese açık SDK’lar kendi toplu gönderim biçimlerini kullanır. Bu uç nokta o biçimi kabul etmez. Tek bir yerel zarfta 1 ile 512 arasında öğe gönderin. Bir zarftaki tüm öğeler projeyi, hizmeti, sürümü, ortamı ve isteğe bağlı iz bağlamını paylaşır.

Öğe alanları

Her öğenin bir type alanı ve bir data nesnesi vardır. Log öğesi level kullanır. Sorun öğesi severity kullanır. İkisi de Önem düzeyi değerleri bölümündeki değerleri kabul eder. İstemciniz yeniden deneyebiliyorsa her öğeyle bir id gönderin. Yeniden deneme, kabul edilmiş bir öğeyi aynı id ve içerikle tekrar gönderirse LogBrew onu yeniden saklamaz. Yanıt bu öğeyi already_accepted içinde sayar.

Örnek istek

Aşağıdaki JSON’u telemetry-envelope.json olarak kaydedin. Örnek proje kimliğini alım anahtarınızın tam proje kimliğiyle değiştirin. Zaman damgalarını test olayının şu anki UTC zamanına ayarlayın. Kendi hizmet ve sürüm değerlerinizi kullanın.
telemetry-envelope.json
Projeye özel alım değerini korumalı yapılandırmanız üzerinden LOGBREW_INGEST_BEARER değişkenine aktarın. Bu değeri yazdırmayın ve hesap kimlik bilgisi kullanmayın. Aşağıdaki komut dosyayı bir kez gönderir. curl 7.76.0 veya üstü gerekir:
HTTP durumunu ve gövdeyi okuyun. --fail-with-body, hata gövdesini korur ve HTTP hatalarında sıfır olmayan bir çıkış durumu döndürür. Ağ hatası veya zaman aşımı, LogBrew’ün isteği kabul edip etmediğini söylemez. Aynı dosyayı yalnızca öğelerinde id değerleri varsa yeniden gönderin. id değerleri olmadan ikinci gönderim öğeleri iki kez saklayabilir.

Yanıt

Başarılı bir istek, yeni öğelerin akışa göre sayılarıyla birlikte 200 döndürür. already_accepted, önceki bir isteğin zaten gönderdiği öğeleri sayar.

Hatalar

Geçersiz veya iptal edilmiş bir alım anahtarı 401 döndürür. Başka bir projenin anahtarı da 401 döndürür:
Projeye özel bir alım anahtarı kullanın. Bunun yerine hesap kimlik bilgisi kullanmayın. Derleme dosyası (artifact) anahtarı telemetri gönderemez. Bir alan kuralını ihlal eden zarf, validation_failed koduyla 422 döndürür. error alanı kuralı adlandırır. next alanı isteği nasıl düzelteceğinizi söyler. Örneğin "items": [] şunu döndürür:
Olay yoksa zarf göndermeyin. 512’den fazla öğe içeren bir zarf, native telemetry envelope exceeds the item limit hatasıyla 422 döndürür. Zarfı en fazla 512 öğelik toplu gönderimlere bölün. Her toplu gönderimde projeyi ve ortak bağlamı koruyun. Kullanım sınırları, hız sınırları ve hizmet hataları için API hataları sayfasında döndürülen code değerini izleyin.
Sürümü ve ortamı SDK kurulumunda ayarlayın. Her işlem için iz bağlamı oluşturun veya mevcut olanı sürdürün. İlgisiz işler için aynı iz kimliğini yeniden kullanmayın.