logging

tarafından cloudflare

SDK ve konteyner çalışma zamanı genelinde log ekleme, hata ayıklama veya Logger ile çalışırken kullanılır. Yapıcı enjeksiyon desenini, alt logger'ları,… kapsar.

npx skills add https://github.com/cloudflare/sandbox-sdk --skill logging

Logging

Pattern: Explicit Constructor Injection

Loggers are passed explicitly via constructor injection throughout the codebase. There is no global/ambient logger.

import type { Logger } from '@repo/shared';

class MyService {
  constructor(private logger: Logger) {}

  async doWork(context: WorkContext) {
    const childLogger = this.logger.child({ operation: 'work' });
    childLogger.info('Working', { context });
  }
}

Child loggers

Use logger.child({ ... }) to attach structured context that will appear on every log line from that child. Prefer child loggers at the boundary of a unit of work (request, operation, session) rather than re-passing context on every call.

Configuration

Two environment variables, both read once at startup:

VarValuesPurpose
SANDBOX_LOG_LEVELdebug | info | warn | errorMinimum level emitted
SANDBOX_LOG_FORMATjson | prettyOutput format

Use json in production (machine-parseable) and pretty for local dev.

In Tests

Use createNoOpLogger() from @repo/shared to silence logging in tests:

import { createNoOpLogger } from '@repo/shared';

const service = new MyService(createNoOpLogger());

Don't construct real loggers in unit tests — they add noise and can mask real failures with log output.

When Adding Logs

  • Log at info for significant lifecycle events (operation started/completed)
  • Log at debug for fine-grained tracing (request bodies, intermediate state)
  • Log at warn for recoverable anomalies
  • Log at error for failures that surface to the caller; include the error object as structured context: logger.error('Failed', { err })
  • Pass structured context as the second argument, not via string interpolation

cloudflare tarafından daha fazla skill

dependabot-review
cloudflare
Bir Dependabot PR'sini analiz ederek her güncellenen pakette gerçekte neyin değiştiğini ve bu değişikliklerin bu repoyu etkileyip etkilemediğini belirler. Değişen API'leri/metotları raporlar,…
module-registry
cloudflare
workerd'de modül kaydı ile çalışırken yükleyin — modül çözümleme, derleme, değerlendirme veya kaydetme işlemlerini okuma, değiştirme, hata ayıklama veya inceleme…
reproduce
cloudflare
Bir cloudflare/agents GitHub sorununu, minimal bir Agents/Worker projesi oluşturup geçici bir Cloudflare hesabına dağıtarak yeniden üretin, ardından raporlayın…
local-explorer
cloudflare
Yerel gezgine veya yerel API'ye nasıl ürün/kaynak eklenir. Yeni yerel API'ler veya altındaki UI rotaları uygulanırken kullanılır.
open-pr
cloudflare
Bir cloudflare/agents GitHub sorununu ve herhangi bir yeniden üretim bulgusunu alıp tek seferde düzelten bir PR oluşturun — dal, değişiklik, test, gönderme ve soruna bağlı PR'ı açma.
write-endpoints
cloudflare
chanfana ile OpenAPI uç noktaları oluşturmak için kapsamlı rehber - şema tanımı, istek doğrulama, CRUD işlemleri, D1 veritabanı entegrasyonu ve…
agents-sdk
cloudflare
Cloudflare Workers üzerinde Agents SDK kullanarak AI ajanları oluşturun. Durum bilgisi olan ajanlar, dayanıklı iş akışları, gerçek zamanlı WebSocket uygulamaları, zamanlanmış görevler oluştururken yükleyin,…
changelog
cloudflare
Cloudflare dokümantasyon sitesi için ürün değişiklik günlüğü girdileri oluşturur, günceller ve gözden geçirir. Değişiklik günlüğü MDX dosyaları oluştururken, mevcut dosyaları düzenlerken yüklenir…