मुख्य कंटेंट तक स्किप करें

आउटपुट के तरीके

Default AIBuds logger के लिए न्यूनतम log level और एक output destination चुनें।

API संदर्भ

Framework

AIBudsLog.xcframework

डिक्लेरेशन

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 और LogDestination देखें।

लॉग लेवल

level record की जाने वाली न्यूनतम severity है। इससे नीचे के levels छोड़ दिए जाते हैं।

Levelउपयोग
.verboseविस्तृत execution tracing।
.debugDevelopment diagnostics।
.infoसामान्य progress और operational information।
.warnऐसी स्थिति जिस पर ध्यान देना पड़ सकता है।
.errorऐसी failure जिसके बाद app चल सकता है।
.fatalगंभीर failure जो app बंद कर सकती है।
.muteसभी log output बंद करें।

आउटपुट डेस्टिनेशन

डेस्टिनेशनआउटपुटएक्सपोर्ट सपोर्ट
.consoleXcode debugger consoleनहीं
.osloggeros_log के जरिए Apple unified loggingनहीं
.fileConfigured Documents-relative directory की filesहाँ
.xlfacilityAIBudsXLFacility persistence pluginहाँ, plugin installed होने पर

उपयोग के उदाहरण

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

ध्यान दें

  • Destination selection पूरे process पर लागू होती है और पिछली destination बदल देती है; यह एक साथ enabled outputs का set नहीं है।
  • logsDirectory Documents-relative path स्वीकार करता है। SDK शुरुआत का slash हटा देता है।
  • maxFileSize और logFileMaxAge के लिए शून्य या उससे कम values ignore होती हैं।
  • Public SDK remote-server logging configuration या category enable/disable switches उपलब्ध नहीं कराता।