Ana içeriğe geç

Günlük Çıktı Yöntemleri

Varsayılan AIBuds günlükleyicinin kullanacağı en düşük günlük düzeyini ve tek çıktı hedefini seçin.

API Reference

Framework

AIBudsLog.xcframework

Declaration

Swift
/// The current log configuration.
static var logConfiguration: LogConfiguration { get }

/// Configures log storage, rotation, and output behavior.
final class LogConfiguration: NSObject {
    /// The severity threshold. Defaults to `.info`.
    var level: LogLevel

    /// The active output destination. Defaults to `.xlfacility`.
    var destination: LogDestination

    /// Relative log directory under Documents. Defaults to `.aibuds/logs`.
    var logsDirectory: String

    /// Maximum single file size. Defaults to 10 MB.
    var maxFileSize: UInt64

    /// Maximum retained age in days. Defaults to 3.
    var logFileMaxAge: Int
}

logConfiguration, LogLevel ve LogDestination başvurularına bakın.

Günlük Düzeyleri

level, kaydedilecek en düşük önem düzeyidir. Altındaki düzeyler atılır.

DüzeyKullanım
.verboseAyrıntılı yürütme izleme.
.debugGeliştirme tanılaması.
.infoOlağan ilerleme ve işletim bilgileri.
.warnDikkat gerektirebilecek durum.
.errorUygulamanın çalışmayı sürdürebildiği hata.
.fatalUygulamayı sonlandırabilecek kritik hata.
.muteTüm günlük çıktısını devre dışı bırakır.

Çıktı Hedefleri

HedefÇıktıDışa aktarma
.consoleXcode hata ayıklama konsoluHayır
.osloggeros_log üzerinden Apple birleşik günlüklemeHayır
.fileYapılandırılan Documents göreli dizinindeki dosyalarEvet
.xlfacilityAIBudsXLFacility kalıcılık eklentisiEklenti kuruluysa evet

Kullanım Örnekleri

Swift
import AIBudsLog
import AIBudsXLFacility

let configuration = AIBudsLogSDK.logConfiguration
configuration.level = .debug
configuration.destination = .xlfacility
configuration.logFileMaxAge = 7

AIBudsLogSDK.setXLFacilityPlugin(XLFacilitySDK.shared)

AIBudsLogSDK.logService.info(
    "SDK configured",
    subsystem: "com.example.app",
    category: "startup"
)

Notlar

  • Hedef seçimi süreç genelindedir ve önceki hedefin yerini alır; aynı anda etkin çıktı kümesi değildir.
  • logsDirectory, Documents'a göre bir yol kabul eder. Baştaki eğik çizgi SDK tarafından kaldırılır.
  • maxFileSize ve logFileMaxAge için sıfıra eşit veya küçük değerler yok sayılır.
  • Genel SDK, uzak sunucu günlükleme yapılandırması veya kategori etkinleştirme/devre dışı bırakma anahtarları sunmaz.