]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-46557: Log captured warnings without format string (GH-30975)
authorMichael P. Nitowski <mpnitowski@gmail.com>
Tue, 15 Mar 2022 09:01:03 +0000 (05:01 -0400)
committerGitHub <noreply@github.com>
Tue, 15 Mar 2022 09:01:03 +0000 (09:01 +0000)
Lib/logging/__init__.py
Misc/NEWS.d/next/Library/2022-01-28-01-23-25.bpo-46557.XSbhyQ.rst [new file with mode: 0644]

index e49e0d02a80cf0e8292861eb6547e91aea00456b..160b1afcee0f9e8c4eae862e8bf29fce934d759d 100644 (file)
@@ -2246,7 +2246,9 @@ def _showwarning(message, category, filename, lineno, file=None, line=None):
         logger = getLogger("py.warnings")
         if not logger.handlers:
             logger.addHandler(NullHandler())
-        logger.warning("%s", s)
+        # bpo-46557: Log str(s) as msg instead of logger.warning("%s", s)
+        # since some log aggregation tools group logs by the msg arg
+        logger.warning(str(s))
 
 def captureWarnings(capture):
     """
diff --git a/Misc/NEWS.d/next/Library/2022-01-28-01-23-25.bpo-46557.XSbhyQ.rst b/Misc/NEWS.d/next/Library/2022-01-28-01-23-25.bpo-46557.XSbhyQ.rst
new file mode 100644 (file)
index 0000000..dd7d3f3
--- /dev/null
@@ -0,0 +1 @@
+Warnings captured by the logging module are now logged without a format string to prevent systems that group logs by the msg argument from grouping captured warnings together.