feat: os_log for logging output #278
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
os_log
landed in Apple SDKs with iOS 10.0, macOS 10.12, tvOS 10.0 and watchOS 3.0 (Xcode 8+).https://developer.apple.com/documentation/os/generating-log-messages-from-your-code?language=objc
Another good reference:
https://www.donnywals.com/modern-logging-with-the-oslog-framework-in-swift/
This gracefully falls back to NSLog as needed.
Through
os_log
, we now use standard{public}
for console logs per os_log conventions.This fixes Xcode 26
<private>
device log output.Here’s why
os_log
is better than NSLog:.private
(default in SwiftLogger
) or.public
, so PII won’t leak in production or shared sysdiagnoses.printf
-style APIs.com.yourco.app
/network
,ui
, etc.) so you can filter and toggle precisely.debug
,info
,default
,error
,fault
—with different capture/retention behavior on device.log
CLI: query, filter, and correlate across processes and devices.Logger
inOSLog
) keeps improving (better interpolation, stronger typing, richer privacy controls).NSLog
isn’t evolving.