summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/multiprocessing/util.py8
-rw-r--r--Lib/test/_test_multiprocessing.py23
-rw-r--r--Misc/NEWS.d/next/Library/2023-12-23-16-10-07.gh-issue-113421.w7vs08.rst1
3 files changed, 28 insertions, 4 deletions
diff --git a/Lib/multiprocessing/util.py b/Lib/multiprocessing/util.py
index 28c77df..3287185 100644
--- a/Lib/multiprocessing/util.py
+++ b/Lib/multiprocessing/util.py
@@ -43,19 +43,19 @@ _log_to_stderr = False
def sub_debug(msg, *args):
if _logger:
- _logger.log(SUBDEBUG, msg, *args)
+ _logger.log(SUBDEBUG, msg, *args, stacklevel=2)
def debug(msg, *args):
if _logger:
- _logger.log(DEBUG, msg, *args)
+ _logger.log(DEBUG, msg, *args, stacklevel=2)
def info(msg, *args):
if _logger:
- _logger.log(INFO, msg, *args)
+ _logger.log(INFO, msg, *args, stacklevel=2)
def sub_warning(msg, *args):
if _logger:
- _logger.log(SUBWARNING, msg, *args)
+ _logger.log(SUBWARNING, msg, *args, stacklevel=2)
def get_logger():
'''
diff --git a/Lib/test/_test_multiprocessing.py b/Lib/test/_test_multiprocessing.py
index a94eb6c..8e4e076 100644
--- a/Lib/test/_test_multiprocessing.py
+++ b/Lib/test/_test_multiprocessing.py
@@ -4724,6 +4724,29 @@ class _TestLogging(BaseTestCase):
root_logger.setLevel(root_level)
logger.setLevel(level=LOG_LEVEL)
+ def test_filename(self):
+ logger = multiprocessing.get_logger()
+ original_level = logger.level
+ try:
+ logger.setLevel(util.DEBUG)
+ stream = io.StringIO()
+ handler = logging.StreamHandler(stream)
+ logging_format = '[%(levelname)s] [%(filename)s] %(message)s'
+ handler.setFormatter(logging.Formatter(logging_format))
+ logger.addHandler(handler)
+ logger.info('1')
+ util.info('2')
+ logger.debug('3')
+ filename = os.path.basename(__file__)
+ log_record = stream.getvalue()
+ self.assertIn(f'[INFO] [{filename}] 1', log_record)
+ self.assertIn(f'[INFO] [{filename}] 2', log_record)
+ self.assertIn(f'[DEBUG] [{filename}] 3', log_record)
+ finally:
+ logger.setLevel(original_level)
+ logger.removeHandler(handler)
+ handler.close()
+
# class _TestLoggingProcessName(BaseTestCase):
#
diff --git a/Misc/NEWS.d/next/Library/2023-12-23-16-10-07.gh-issue-113421.w7vs08.rst b/Misc/NEWS.d/next/Library/2023-12-23-16-10-07.gh-issue-113421.w7vs08.rst
new file mode 100644
index 0000000..2082fe6
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2023-12-23-16-10-07.gh-issue-113421.w7vs08.rst
@@ -0,0 +1 @@
+Fix multiprocessing logger for ``%(filename)s``.