Build Information
Successful build of SwiftLogger, reference master (c65847), with Swift 6.1 for macOS (SPM) on 22 Sep 2025 14:20:00 UTC.
Swift 6 data race errors: 3
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCapturesBuild Log
========================================
RunAll
========================================
Builder version: 4.67.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/sergejs/SwiftLogger.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/sergejs/SwiftLogger
* branch master -> FETCH_HEAD
* [new branch] master -> origin/master
HEAD is now at c65847f Merge pull request #6 from sergejs/feature/swift-logger-improvements
Cloned https://github.com/sergejs/SwiftLogger.git
Revision (git rev-parse @):
c65847f1a6209ea9e7ab9df519f93f744f0c4ecc
SUCCESS checkout https://github.com/sergejs/SwiftLogger.git at master
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
"identity": ".resolve-product-dependencies",
"name": "resolve-dependencies",
"url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"dependencies": [
{
"identity": "swiftlogger",
"name": "SwiftLogger",
"url": "https://github.com/sergejs/SwiftLogger.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/SwiftLogger",
"dependencies": [
]
}
]
}
Fetching https://github.com/sergejs/SwiftLogger.git
[1/168] Fetching swiftlogger
Fetched https://github.com/sergejs/SwiftLogger.git from cache (0.63s)
Creating working copy for https://github.com/sergejs/SwiftLogger.git
Working copy of https://github.com/sergejs/SwiftLogger.git resolved at master (c65847f)
warning: '.resolve-product-dependencies': dependency 'swiftlogger' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/sergejs/SwiftLogger.git
https://github.com/sergejs/SwiftLogger.git
{
"dependencies" : [
],
"manifest_display_name" : "SwiftLogger",
"name" : "SwiftLogger",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "10.15"
},
{
"name" : "ios",
"version" : "13.0"
},
{
"name" : "watchos",
"version" : "6.0"
},
{
"name" : "tvos",
"version" : "13.0"
}
],
"products" : [
{
"name" : "SwiftLogger",
"targets" : [
"SwiftLogger"
],
"type" : {
"library" : [
"dynamic"
]
}
}
],
"targets" : [
{
"c99name" : "SwiftLoggerTests",
"module_type" : "SwiftTarget",
"name" : "SwiftLoggerTests",
"path" : "Tests/SwiftLoggerTests",
"sources" : [
"SwiftLoggerTests.swift",
"XCTestManifests.swift"
],
"target_dependencies" : [
"SwiftLogger"
],
"type" : "test"
},
{
"c99name" : "SwiftLogger",
"module_type" : "SwiftTarget",
"name" : "SwiftLogger",
"path" : "Sources/SwiftLogger",
"product_memberships" : [
"SwiftLogger"
],
"sources" : [
"SwiftLogger.swift",
"osLogger.swift"
],
"type" : "library"
}
],
"tools_version" : "5.9"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/4] Write sources
[1/4] Write swift-version-2F0A5646E1D333AE.txt
[3/7] Compiling SwiftLogger SwiftLogger.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftLogger/SwiftLogger.swift:393:22: warning: static property '_sharedInstance' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
389 | }
390 |
391 | public final class Logger {
| `- note: class 'Logger' does not conform to the 'Sendable' protocol
392 | // Thread-safe singleton implementation
393 | private static let _sharedInstance = Logger()
| |- warning: static property '_sharedInstance' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property '_sharedInstance' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
394 | private static var _customInstance: Logger?
395 | private static let instanceQueue = DispatchQueue(label: "com.swiftlogger.instance", attributes: .concurrent)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftLogger/SwiftLogger.swift:394:22: warning: static property '_customInstance' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
392 | // Thread-safe singleton implementation
393 | private static let _sharedInstance = Logger()
394 | private static var _customInstance: Logger?
| |- warning: static property '_customInstance' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_customInstance' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_customInstance' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
395 | private static let instanceQueue = DispatchQueue(label: "com.swiftlogger.instance", attributes: .concurrent)
396 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftLogger/SwiftLogger.swift:418:25: warning: capture of 'logger' with non-sendable type 'Logger' in a '@Sendable' closure
389 | }
390 |
391 | public final class Logger {
| `- note: class 'Logger' does not conform to the 'Sendable' protocol
392 | // Thread-safe singleton implementation
393 | private static let _sharedInstance = Logger()
:
416 | static func setSharedInstance(logger: Logger) {
417 | instanceQueue.async(flags: .barrier) {
418 | _customInstance = logger
| `- warning: capture of 'logger' with non-sendable type 'Logger' in a '@Sendable' closure
419 | }
420 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftLogger/SwiftLogger.swift:424:13: warning: capture of 'self' with non-sendable type 'Logger?' in a '@Sendable' closure
389 | }
390 |
391 | public final class Logger {
| `- note: class 'Logger' does not conform to the 'Sendable' protocol
392 | // Thread-safe singleton implementation
393 | private static let _sharedInstance = Logger()
:
422 | public func setupLogger(logger: LoggerType) {
423 | queue.async(flags: .barrier) { [weak self] in
424 | guard self?.activeLogger == nil else { return }
| `- warning: capture of 'self' with non-sendable type 'Logger?' in a '@Sendable' closure
425 | self?.activeLogger = logger
426 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftLogger/SwiftLogger.swift:425:28: warning: capture of 'logger' with non-sendable type 'any LoggerType' in a '@Sendable' closure
257 | // MARK: - Logger Type Protocol
258 |
259 | public protocol LoggerType {
| `- note: protocol 'LoggerType' does not conform to the 'Sendable' protocol
260 | func log(
261 | level: LogLevel,
:
423 | queue.async(flags: .barrier) { [weak self] in
424 | guard self?.activeLogger == nil else { return }
425 | self?.activeLogger = logger
| `- warning: capture of 'logger' with non-sendable type 'any LoggerType' in a '@Sendable' closure
426 | }
427 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftLogger/SwiftLogger.swift:437:7: warning: capture of 'self' with non-sendable type 'Logger?' in a '@Sendable' closure
389 | }
390 |
391 | public final class Logger {
| `- note: class 'Logger' does not conform to the 'Sendable' protocol
392 | // Thread-safe singleton implementation
393 | private static let _sharedInstance = Logger()
:
435 | public func setMinimumLogLevel(_ level: LogLevel) {
436 | queue.async(flags: .barrier) { [weak self] in
437 | self?.minimumLevel = level
| `- warning: capture of 'self' with non-sendable type 'Logger?' in a '@Sendable' closure
438 | }
439 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftLogger/SwiftLogger.swift:437:28: warning: capture of 'level' with non-sendable type 'LogLevel' in a '@Sendable' closure
7 | import Foundation
8 |
9 | public enum LogLevel: Int, Comparable {
| `- note: consider making enum 'LogLevel' conform to the 'Sendable' protocol
10 | case fault = 0
11 | case error = 1
:
435 | public func setMinimumLogLevel(_ level: LogLevel) {
436 | queue.async(flags: .barrier) { [weak self] in
437 | self?.minimumLevel = level
| `- warning: capture of 'level' with non-sendable type 'LogLevel' in a '@Sendable' closure
438 | }
439 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftLogger/SwiftLogger.swift:449:7: warning: capture of 'self' with non-sendable type 'Logger?' in a '@Sendable' closure
389 | }
390 |
391 | public final class Logger {
| `- note: class 'Logger' does not conform to the 'Sendable' protocol
392 | // Thread-safe singleton implementation
393 | private static let _sharedInstance = Logger()
:
447 | public func ignoreClass(className: String) {
448 | queue.async(flags: .barrier) { [weak self] in
449 | self?.disabledSymbols.insert(className)
| `- warning: capture of 'self' with non-sendable type 'Logger?' in a '@Sendable' closure
450 | }
451 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftLogger/SwiftLogger.swift:461:7: warning: capture of 'self' with non-sendable type 'Logger?' in a '@Sendable' closure
389 | }
390 |
391 | public final class Logger {
| `- note: class 'Logger' does not conform to the 'Sendable' protocol
392 | // Thread-safe singleton implementation
393 | private static let _sharedInstance = Logger()
:
459 | public func allowClass(className: String) {
460 | queue.async(flags: .barrier) { [weak self] in
461 | self?.disabledSymbols.remove(className)
| `- warning: capture of 'self' with non-sendable type 'Logger?' in a '@Sendable' closure
462 | }
463 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftLogger/SwiftLogger.swift:465:12: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
463 |
464 | if #available(iOS 13.0, macOS 10.15, watchOS 6.0, tvOS 13.0, *) {
465 | Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
466 | await actorLogger.allowClass(className: className)
| `- note: closure captures 'self' which is accessible to code in the current task
467 | }
468 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftLogger/SwiftLogger.swift:453:12: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
451 |
452 | if #available(iOS 13.0, macOS 10.15, watchOS 6.0, tvOS 13.0, *) {
453 | Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
454 | await actorLogger.ignoreClass(className: className)
| `- note: closure captures 'self' which is accessible to code in the current task
455 | }
456 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftLogger/SwiftLogger.swift:492:12: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
490 | // Use modern actor-based logging if available
491 | if #available(iOS 13.0, macOS 10.15, watchOS 6.0, tvOS 13.0, *) {
492 | Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
493 | let canLog = await actorLogger.shouldLog(level: level, className: className)
| `- note: closure captures 'self' which is accessible to code in the current task
494 | guard canLog else { return }
495 | await actorLogger.performLog(
/Users/admin/builder/spi-builder-workspace/Sources/SwiftLogger/SwiftLogger.swift:380:24: warning: sending 'level' risks causing data races; this is an error in the Swift 6 language mode
378 | ) async {
379 | guard let activeLogger = activeLogger else { return }
380 | await activeLogger.logAsync(
| |- warning: sending 'level' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'level' to nonisolated instance method 'logAsync(level:className:message:_:_:line:)' risks causing data races between nonisolated and 'self'-isolated uses
381 | level: level,
382 | className: className,
/Users/admin/builder/spi-builder-workspace/Sources/SwiftLogger/SwiftLogger.swift:380:24: warning: sending 'activeLogger' risks causing data races; this is an error in the Swift 6 language mode
378 | ) async {
379 | guard let activeLogger = activeLogger else { return }
380 | await activeLogger.logAsync(
| |- warning: sending 'activeLogger' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'activeLogger' to nonisolated instance method 'logAsync(level:className:message:_:_:line:)' risks causing data races between nonisolated and 'self'-isolated uses
381 | level: level,
382 | className: className,
/Users/admin/builder/spi-builder-workspace/Sources/SwiftLogger/SwiftLogger.swift:429:12: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
427 |
428 | if #available(iOS 13.0, macOS 10.15, watchOS 6.0, tvOS 13.0, *) {
429 | Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
430 | await actorLogger.setupLogger(logger: logger)
| `- note: closure captures 'self' which is accessible to code in the current task
431 | }
432 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftLogger/SwiftLogger.swift:430:27: warning: sending 'logger' risks causing data races; this is an error in the Swift 6 language mode
428 | if #available(iOS 13.0, macOS 10.15, watchOS 6.0, tvOS 13.0, *) {
429 | Task {
430 | await actorLogger.setupLogger(logger: logger)
| |- warning: sending 'logger' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'logger' to actor-isolated instance method 'setupLogger(logger:)' risks causing data races between actor-isolated and task-isolated uses
431 | }
432 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftLogger/SwiftLogger.swift:441:12: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
439 |
440 | if #available(iOS 13.0, macOS 10.15, watchOS 6.0, tvOS 13.0, *) {
441 | Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
442 | await actorLogger.setMinimumLogLevel(level)
| `- note: closure captures 'self' which is accessible to code in the current task
443 | }
444 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftLogger/SwiftLogger.swift:442:27: warning: sending 'level' risks causing data races; this is an error in the Swift 6 language mode
440 | if #available(iOS 13.0, macOS 10.15, watchOS 6.0, tvOS 13.0, *) {
441 | Task {
442 | await actorLogger.setMinimumLogLevel(level)
| |- warning: sending 'level' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'level' to actor-isolated instance method 'setMinimumLogLevel' risks causing data races between actor-isolated and task-isolated uses
443 | }
444 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftLogger/SwiftLogger.swift:493:40: warning: sending 'level' risks causing data races; this is an error in the Swift 6 language mode
491 | if #available(iOS 13.0, macOS 10.15, watchOS 6.0, tvOS 13.0, *) {
492 | Task {
493 | let canLog = await actorLogger.shouldLog(level: level, className: className)
| |- warning: sending 'level' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'level' to actor-isolated instance method 'shouldLog(level:className:)' risks causing data races between actor-isolated and task-isolated uses
494 | guard canLog else { return }
495 | await actorLogger.performLog(
/Users/admin/builder/spi-builder-workspace/Sources/SwiftLogger/SwiftLogger.swift:495:27: warning: sending 'level' risks causing data races; this is an error in the Swift 6 language mode
493 | let canLog = await actorLogger.shouldLog(level: level, className: className)
494 | guard canLog else { return }
495 | await actorLogger.performLog(
| |- warning: sending 'level' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'level' to actor-isolated instance method 'performLog(level:className:message:_:_:line:)' risks causing data races between actor-isolated and task-isolated uses
496 | level: level,
497 | className: className,
/Users/admin/builder/spi-builder-workspace/Sources/SwiftLogger/SwiftLogger.swift:529:29: warning: sending 'level' risks causing data races; this is an error in the Swift 6 language mode
527 | line: Int
528 | ) async {
529 | guard await actorLogger.shouldLog(level: level, className: className) else { return }
| |- warning: sending 'level' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'level' to actor-isolated instance method 'shouldLog(level:className:)' risks causing data races between actor-isolated and task-isolated uses
530 | let messageValue = message()
531 | await actorLogger.performAsyncLog(
/Users/admin/builder/spi-builder-workspace/Sources/SwiftLogger/SwiftLogger.swift:531:23: warning: sending 'level' risks causing data races; this is an error in the Swift 6 language mode
529 | guard await actorLogger.shouldLog(level: level, className: className) else { return }
530 | let messageValue = message()
531 | await actorLogger.performAsyncLog(
| |- warning: sending 'level' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'level' to actor-isolated instance method 'performAsyncLog(level:className:message:_:_:line:)' risks causing data races between actor-isolated and task-isolated uses
532 | level: level,
533 | className: className,
/Users/admin/builder/spi-builder-workspace/Sources/SwiftLogger/SwiftLogger.swift:543:12: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
541 | public func trackObject(_ object: AnyObject, for className: String) {
542 | if #available(iOS 13.0, macOS 10.15, watchOS 6.0, tvOS 13.0, *) {
543 | Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
544 | await actorLogger.trackObject(object, className: className)
| `- note: closure captures 'self' which is accessible to code in the current task
545 | }
546 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftLogger/SwiftLogger.swift:544:27: warning: sending 'object' risks causing data races; this is an error in the Swift 6 language mode
542 | if #available(iOS 13.0, macOS 10.15, watchOS 6.0, tvOS 13.0, *) {
543 | Task {
544 | await actorLogger.trackObject(object, className: className)
| |- warning: sending 'object' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'object' to actor-isolated instance method 'trackObject(_:className:)' risks causing data races between actor-isolated and task-isolated uses
545 | }
546 | }
[4/7] Compiling SwiftLogger osLogger.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftLogger/osLogger.swift:44:22: warning: static property 'subsystem' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
42 |
43 | extension OSLog {
44 | private static var subsystem = Bundle.main.bundleIdentifier ?? "OS_LOGGER"
| |- warning: static property 'subsystem' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'subsystem' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'subsystem' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
45 | static let appLogger = OSLog(subsystem: subsystem, category: "AppLogger")
46 | }
[5/7] Emitting module SwiftLogger
/Users/admin/builder/spi-builder-workspace/Sources/SwiftLogger/SwiftLogger.swift:393:22: warning: static property '_sharedInstance' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
389 | }
390 |
391 | public final class Logger {
| `- note: class 'Logger' does not conform to the 'Sendable' protocol
392 | // Thread-safe singleton implementation
393 | private static let _sharedInstance = Logger()
| |- warning: static property '_sharedInstance' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property '_sharedInstance' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
394 | private static var _customInstance: Logger?
395 | private static let instanceQueue = DispatchQueue(label: "com.swiftlogger.instance", attributes: .concurrent)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftLogger/SwiftLogger.swift:394:22: warning: static property '_customInstance' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
392 | // Thread-safe singleton implementation
393 | private static let _sharedInstance = Logger()
394 | private static var _customInstance: Logger?
| |- warning: static property '_customInstance' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_customInstance' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_customInstance' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
395 | private static let instanceQueue = DispatchQueue(label: "com.swiftlogger.instance", attributes: .concurrent)
396 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftLogger/osLogger.swift:44:22: warning: static property 'subsystem' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
42 |
43 | extension OSLog {
44 | private static var subsystem = Bundle.main.bundleIdentifier ?? "OS_LOGGER"
| |- warning: static property 'subsystem' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'subsystem' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'subsystem' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
45 | static let appLogger = OSLog(subsystem: subsystem, category: "AppLogger")
46 | }
[5/7] Write Objects.LinkFileList
[6/7] Linking libSwiftLogger.dylib
Build complete! (5.24s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "SwiftLogger",
"name" : "SwiftLogger",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "10.15"
},
{
"name" : "ios",
"version" : "13.0"
},
{
"name" : "watchos",
"version" : "6.0"
},
{
"name" : "tvos",
"version" : "13.0"
}
],
"products" : [
{
"name" : "SwiftLogger",
"targets" : [
"SwiftLogger"
],
"type" : {
"library" : [
"dynamic"
]
}
}
],
"targets" : [
{
"c99name" : "SwiftLoggerTests",
"module_type" : "SwiftTarget",
"name" : "SwiftLoggerTests",
"path" : "Tests/SwiftLoggerTests",
"sources" : [
"SwiftLoggerTests.swift",
"XCTestManifests.swift"
],
"target_dependencies" : [
"SwiftLogger"
],
"type" : "test"
},
{
"c99name" : "SwiftLogger",
"module_type" : "SwiftTarget",
"name" : "SwiftLogger",
"path" : "Sources/SwiftLogger",
"product_memberships" : [
"SwiftLogger"
],
"sources" : [
"SwiftLogger.swift",
"osLogger.swift"
],
"type" : "library"
}
],
"tools_version" : "5.9"
}
Done.