]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-150644: Tag Apple system log messages as public. (#150645)
authorRussell Keith-Magee <russell@keith-magee.com>
Mon, 1 Jun 2026 22:25:46 +0000 (06:25 +0800)
committerGitHub <noreply@github.com>
Mon, 1 Jun 2026 22:25:46 +0000 (06:25 +0800)
macOS 26 changed the default visibility of "dynamic" system messages. This
changes the logging strategy to tag all messages as "public" so they are
visible in the system log without special configuration.

Misc/NEWS.d/next/macOS/2026-05-31-10-40-00.gh-issue-150644.zLWyjj.rst [new file with mode: 0644]
Python/pylifecycle.c

diff --git a/Misc/NEWS.d/next/macOS/2026-05-31-10-40-00.gh-issue-150644.zLWyjj.rst b/Misc/NEWS.d/next/macOS/2026-05-31-10-40-00.gh-issue-150644.zLWyjj.rst
new file mode 100644 (file)
index 0000000..7452a7c
--- /dev/null
@@ -0,0 +1,3 @@
+When system logging is enabled (with ``config.use_system_logger``, messages
+are now tagged as public. This allows the macOS 26 system logger to view
+messages without special configuration.
index 18223332949807611daa8218c6f936ae01a8e0a5..97511d2daf2c8f78a34f5d9b5c8afd79701c200b 100644 (file)
@@ -3327,7 +3327,9 @@ apple_log_write_impl(PyObject *self, PyObject *args)
 
     // Pass the user-provided text through explicit %s formatting
     // to avoid % literals being interpreted as a formatting directive.
-    os_log_with_type(OS_LOG_DEFAULT, logtype, "%s", text);
+    // Using {public} ensures "dynamic" string messages are visible
+    // in the log without special configuration.
+    os_log_with_type(OS_LOG_DEFAULT, logtype, "%{public}s", text);
     Py_RETURN_NONE;
 }