Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -31,13 +31,16 @@ public enum ShopifyAcceleratedCheckouts {

/// The logging level for Accelerated Checkouts operations
/// Default: .error - which will emit "error" and "fault" logs
public static var logLevel: LogLevel = .error {
didSet {
logger.logLevel = logLevel
public static var logLevel: LogLevel {
get {
logger.logLevel
}
set {
logger.logLevel = newValue
}
}

/// Shared logger for ShopifyAcceleratedCheckouts
/// To modify the logLevel
internal static var logger = OSLogger(prefix: name, logLevel: logLevel)
internal static let logger = OSLogger(prefix: name, logLevel: .error)
}
22 changes: 16 additions & 6 deletions platforms/swift/Sources/ShopifyCheckoutKit/Logger.swift
Original file line number Diff line number Diff line change
Expand Up @@ -33,21 +33,31 @@ public enum LogLevel: String, CaseIterable {
case none
}

public class OSLogger {
public class OSLogger: @unchecked Sendable {
private let logger = OSLog(subsystem: subsystem, category: OSLog.Category.pointsOfInterest)
private var prefix: String
package var logLevel: LogLevel
private let prefix: String
private let lock = NSLock()
private var _logLevel: LogLevel

public static var shared = OSLogger()
package var logLevel: LogLevel {
get {
lock.withLock { _logLevel }
}
set {
lock.withLock { _logLevel = newValue }
}
}

public static let shared = OSLogger()

public init() {
prefix = "ShopifyCheckoutKit"
logLevel = ShopifyCheckoutKit.configuration.logLevel
_logLevel = .error
}

public init(prefix: String, logLevel: LogLevel) {
self.prefix = prefix
self.logLevel = logLevel
_logLevel = logLevel
}

public func debug(_ message: String) {
Expand Down
Loading