Skip to content

Commit dd6d24e

Browse files
authored
pythongh-130940: Modify default behavior of PyConfig.use_system_logger to enable on iOS (python#131172)
Modify default behavior of use_system_log to enable on iOS.
1 parent f7ac656 commit dd6d24e

File tree

4 files changed

+22
-6
lines changed

4 files changed

+22
-6
lines changed

Doc/c-api/init_config.rst

+7-2
Original file line numberDiff line numberDiff line change
@@ -505,6 +505,10 @@ Configuration Options
505505
- :c:member:`use_hash_seed <PyConfig.use_hash_seed>`
506506
- ``bool``
507507
- Read-only
508+
* - ``"use_system_logger"``
509+
- :c:member:`use_system_logger <PyConfig.use_system_logger>`
510+
- ``bool``
511+
- Read-only
508512
* - ``"user_site_directory"``
509513
- :c:member:`user_site_directory <PyConfig.user_site_directory>`
510514
- ``bool``
@@ -1927,9 +1931,10 @@ PyConfig
19271931
19281932
Only available on macOS 10.12 and later, and on iOS.
19291933
1930-
Default: ``0`` (don't use system log).
1934+
Default: ``0`` (don't use the system log) on macOS; ``1`` on iOS (use the
1935+
system log).
19311936
1932-
.. versionadded:: 3.13.2
1937+
.. versionadded:: 3.14
19331938
19341939
.. c:member:: int user_site_directory
19351940

Doc/using/ios.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -297,7 +297,7 @@ To add Python to an iOS Xcode project:
297297
* Writing bytecode (:c:member:`PyConfig.write_bytecode`) is *disabled*;
298298
* Signal handlers (:c:member:`PyConfig.install_signal_handlers`) are *enabled*;
299299
* System logging (:c:member:`PyConfig.use_system_logger`) is *enabled*
300-
(optional, but strongly recommended);
300+
(optional, but strongly recommended; this is enabled by default);
301301
* ``PYTHONHOME`` for the interpreter is configured to point at the
302302
``python`` subfolder of your app's bundle; and
303303
* The ``PYTHONPATH`` for the interpreter includes:
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
The behavior of ``PyConfig.use_system_logger`` was modified to be enabled by
2+
default on iOS. It remains disabled by default on macOS.

Python/initconfig.c

+12-3
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,15 @@
2525
# endif
2626
#endif
2727

28+
#ifdef __APPLE__
29+
/* Enable system log by default on non-macOS Apple platforms */
30+
# if defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE
31+
#define USE_SYSTEM_LOGGER_DEFAULT 1;
32+
# else
33+
#define USE_SYSTEM_LOGGER_DEFAULT 0;
34+
# endif
35+
#endif
36+
2837
#include "config_common.h"
2938

3039
/* --- PyConfig setters ------------------------------------------- */
@@ -1017,7 +1026,7 @@ _PyConfig_InitCompatConfig(PyConfig *config)
10171026
config->code_debug_ranges = 1;
10181027
config->cpu_count = -1;
10191028
#ifdef __APPLE__
1020-
config->use_system_logger = 0;
1029+
config->use_system_logger = USE_SYSTEM_LOGGER_DEFAULT;
10211030
#endif
10221031
#ifdef Py_GIL_DISABLED
10231032
config->enable_gil = _PyConfig_GIL_DEFAULT;
@@ -1049,7 +1058,7 @@ config_init_defaults(PyConfig *config)
10491058
config->legacy_windows_stdio = 0;
10501059
#endif
10511060
#ifdef __APPLE__
1052-
config->use_system_logger = 0;
1061+
config->use_system_logger = USE_SYSTEM_LOGGER_DEFAULT;
10531062
#endif
10541063
}
10551064

@@ -1086,7 +1095,7 @@ PyConfig_InitIsolatedConfig(PyConfig *config)
10861095
config->legacy_windows_stdio = 0;
10871096
#endif
10881097
#ifdef __APPLE__
1089-
config->use_system_logger = 0;
1098+
config->use_system_logger = USE_SYSTEM_LOGGER_DEFAULT;
10901099
#endif
10911100
}
10921101

0 commit comments

Comments
 (0)