SDK kullanımı
İki okuma SDK'sı yayınlanır: Errorbird.Client (NuGet) ve @errorbird/client (npm). İkisi de yalnızca okuma yapar; yazma yolu HTTP'dir ve mevcut log altyapınız tarafından yapılır.
.NET — Errorbird.Client
dotnet add package Errorbird.Client
builder.Services.AddErrorbirdClient(options =>
{
options.ApiKey = builder.Configuration["Errorbird:ApiKey"]!;
options.ProjectId = Guid.Parse(builder.Configuration["Errorbird:ProjectId"]!);
});
Kullanımı üç satırdır:
app.MapGet("/panel", async (IErrorbirdReadClient errorbird, CancellationToken ct) =>
{
var summary = await errorbird.GetSummaryAsync(ct);
var issues = await errorbird.ListIssuesAsync(new IssueListQuery(Limit: 10), ct);
return Results.Ok(new { summary, issues.Items });
});
Çalışan referans uygulama depoda: samples/Errorbird.Sample.AdminPanel.
Yüzey
| Metot | Karşılığı |
|---|---|
GetSummaryAsync() |
/projects/{id}/summary |
ListIssuesAsync(query) |
/projects/{id}/issues |
ListIssueEventsAsync(issueId, cursor, limit) |
/issues/{id}/events |
SearchLogsAsync(query) |
/projects/{id}/events |
GetUptimeAsync(monitorId, days) |
/monitors/{id}/uptime |
GetSslStatusAsync(monitorId) |
/monitors/{id}/ssl-status |
GetDomainStatusAsync(monitorId) |
/monitors/{id}/domain-status |
Hatalar ErrorbirdApiException olarak gelir ve StatusCode ile Code alanlarını
taşır; panelinizin "kota doldu" ile "anahtar geçersiz"i ayırt etmesi için
metin ayrıştırmaya gerek yoktur.
JavaScript / TypeScript — @errorbird/client
npm install @errorbird/client
import { ErrorbirdClient } from '@errorbird/client'
const errorbird = new ErrorbirdClient({
apiKey: 'ebrd_pub_…',
projectId: '01a01b…',
})
const summary = await errorbird.getSummary()
const issues = await errorbird.getIssues({ limit: 10, status: 'Unresolved' })
Tüm metotlar AbortSignal kabul eder; bileşen söküldüğünde isteği iptal
etmek React uygulamalarında sızıntıyı önler:
useEffect(() => {
const controller = new AbortController()
errorbird.getSummary(controller.signal).then(setSummary).catch(() => {})
return () => controller.abort()
}, [])
Canlı akış
const stop = errorbird.stream({
onEvent: (event) => console.log(event.message),
onError: () => console.warn('Akış koptu; otomatik yeniden bağlanacak'),
})
// Bileşen sökülürken
stop()
Anahtar seçimi
Tarayıcıda çalışan kodda her zaman publishable anahtar kullanın. Secret anahtar sunucu tarafındadır: derlenmiş JavaScript paketine giren bir secret anahtar, proje adına sahte veri yazma yetkisi demektir.
Publishable anahtarın alan adı listesi bu yüzden zorunludur — Errorbird, listesiz publishable anahtar üretilmesine izin vermez.
Sürümler ve kırıcı değişiklikler
SDK'lar API'nin v1 sürümüne bağlıdır. Yeni alanlar minör sürümlerle eklenir;
SDK'nın bilmediği alanlar sessizce yok sayılır. Bir alanın kaldırılması yalnızca
yeni bir API sürümüyle olur.