mirror of
https://github.com/python/cpython.git
synced 2025-08-10 20:08:47 +00:00
[3.12] gh-113421: Fix multiprocessing logger for "%(filename)s" (GH-113423) (GH-113450)
(cherry picked from commit ce77ee5035
)
Co-authored-by: Xu Song <xusong.vip@gmail.com>
This commit is contained in:
parent
269cb342ad
commit
1bff2fd013
3 changed files with 28 additions and 4 deletions
|
@ -43,19 +43,19 @@ _log_to_stderr = False
|
||||||
|
|
||||||
def sub_debug(msg, *args):
|
def sub_debug(msg, *args):
|
||||||
if _logger:
|
if _logger:
|
||||||
_logger.log(SUBDEBUG, msg, *args)
|
_logger.log(SUBDEBUG, msg, *args, stacklevel=2)
|
||||||
|
|
||||||
def debug(msg, *args):
|
def debug(msg, *args):
|
||||||
if _logger:
|
if _logger:
|
||||||
_logger.log(DEBUG, msg, *args)
|
_logger.log(DEBUG, msg, *args, stacklevel=2)
|
||||||
|
|
||||||
def info(msg, *args):
|
def info(msg, *args):
|
||||||
if _logger:
|
if _logger:
|
||||||
_logger.log(INFO, msg, *args)
|
_logger.log(INFO, msg, *args, stacklevel=2)
|
||||||
|
|
||||||
def sub_warning(msg, *args):
|
def sub_warning(msg, *args):
|
||||||
if _logger:
|
if _logger:
|
||||||
_logger.log(SUBWARNING, msg, *args)
|
_logger.log(SUBWARNING, msg, *args, stacklevel=2)
|
||||||
|
|
||||||
def get_logger():
|
def get_logger():
|
||||||
'''
|
'''
|
||||||
|
|
|
@ -4630,6 +4630,29 @@ class _TestLogging(BaseTestCase):
|
||||||
root_logger.setLevel(root_level)
|
root_logger.setLevel(root_level)
|
||||||
logger.setLevel(level=LOG_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):
|
# class _TestLoggingProcessName(BaseTestCase):
|
||||||
#
|
#
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
Fix multiprocessing logger for ``%(filename)s``.
|
Loading…
Add table
Add a link
Reference in a new issue