]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.15] gh-150644: Tag Apple system log messages as public. (GH-150645) (#150738)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Mon, 1 Jun 2026 22:53:51 +0000 (00:53 +0200)
committerGitHub <noreply@github.com>
Mon, 1 Jun 2026 22:53:51 +0000 (22:53 +0000)
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.
(cherry picked from commit 71fc4c66d3e675a5481b6b76e6c707c9b6f1e0e0)

Co-authored-by: Russell Keith-Magee <russell@keith-magee.com>
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 46579a45f4cc39733914b7741af665ebb12cab9a..f8d9836d90ba789a7a3642ca55d84d39a4983db1 100644 (file)
@@ -3324,7 +3324,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;
 }