]> granicus.if.org Git - python/commitdiff
Closes #27904: Improved logging statements to defer formatting until needed.
authorVinay Sajip <vinay_sajip@yahoo.co.uk>
Wed, 31 Aug 2016 07:22:29 +0000 (08:22 +0100)
committerVinay Sajip <vinay_sajip@yahoo.co.uk>
Wed, 31 Aug 2016 07:22:29 +0000 (08:22 +0100)
15 files changed:
Doc/library/contextlib.rst
Doc/library/shutil.rst
Doc/library/typing.rst
Doc/whatsnew/3.2.rst
Lib/asyncio/base_events.py
Lib/distutils/archive_util.py
Lib/distutils/cmd.py
Lib/distutils/command/bdist_dumb.py
Lib/distutils/command/build_ext.py
Lib/distutils/command/config.py
Lib/distutils/command/install.py
Lib/distutils/command/register.py
Lib/distutils/command/sdist.py
Tools/ssl/test_multiple_versions.py
setup.py

index 810cea8ba484b2039b9e2285886405275ed2bb73..dd34c96c8f8d6040289baae4c3bc47b49876a649 100644 (file)
@@ -590,10 +590,10 @@ single definition::
             self.name = name
 
         def __enter__(self):
-            logging.info('Entering: {}'.format(self.name))
+            logging.info('Entering: %s', self.name)
 
         def __exit__(self, exc_type, exc, exc_tb):
-            logging.info('Exiting: {}'.format(self.name))
+            logging.info('Exiting: %s', self.name)
 
 Instances of this class can be used as both a context manager::
 
index a1cf24132760a95daa2c2decd560ad10c8b956ec..fefd6abd72df7d2ae18e496af1915bb2236fce24 100644 (file)
@@ -425,7 +425,7 @@ Another example that uses the *ignore* argument to add a logging call::
    import logging
 
    def _logpath(path, names):
-       logging.info('Working in %s' % path)
+       logging.info('Working in %s', path)
        return []   # nothing will be ignored
 
    copytree(source, destination, ignore=_logpath)
index 3eaf166d472ac75c87b148a384775177faaf6c88..d902a153356f6c9601fdbff76a0358ea6902d385 100644 (file)
@@ -204,7 +204,7 @@ A user-defined class can be defined as a generic class.
            return self.value
 
        def log(self, message: str) -> None:
-           self.logger.info('{}: {}'.format(self.name, message))
+           self.logger.info('%s: %s', self.name, message)
 
 ``Generic[T]`` as a base class defines that the class ``LoggedVar`` takes a
 single type parameter ``T`` . This also makes ``T`` valid as a type within the
index 9f3584dc9fb2cf1e8a19106ee32eaed1b66b2e33..3d237ea21a531455c301f73059b5a7e357e35377 100644 (file)
@@ -1253,9 +1253,9 @@ definition::
 
     @contextmanager
     def track_entry_and_exit(name):
-        logging.info('Entering: {}'.format(name))
+        logging.info('Entering: %s', name)
         yield
-        logging.info('Exiting: {}'.format(name))
+        logging.info('Exiting: %s', name)
 
 Formerly, this would have only been usable as a context manager::
 
index 0916da8b0ae80664415bc714ebc3b9d020a050cf..918b8695264f919f6561ab48b673515d8211ed0d 100644 (file)
@@ -1069,7 +1069,7 @@ class BaseEventLoop(events.AbstractEventLoop):
         transport = yield from self._make_subprocess_transport(
             protocol, cmd, True, stdin, stdout, stderr, bufsize, **kwargs)
         if self._debug:
-            logger.info('%s: %r' % (debug_log, transport))
+            logger.info('%s: %r', debug_log, transport)
         return transport, protocol
 
     @coroutine
@@ -1099,7 +1099,7 @@ class BaseEventLoop(events.AbstractEventLoop):
             protocol, popen_args, False, stdin, stdout, stderr,
             bufsize, **kwargs)
         if self._debug:
-            logger.info('%s: %r' % (debug_log, transport))
+            logger.info('%s: %r', debug_log, transport)
         return transport, protocol
 
     def get_exception_handler(self):
index bed1384900b1435c54c9f19d764113b666acd9d5..78ae5757c36d2cdb73bcea71617f27e88f4935e7 100644 (file)
@@ -171,7 +171,7 @@ def make_zipfile(base_name, base_dir, verbose=0, dry_run=0):
                     path = os.path.normpath(os.path.join(dirpath, name))
                     if os.path.isfile(path):
                         zip.write(path, path)
-                        log.info("adding '%s'" % path)
+                        log.info("adding '%s'", path)
             zip.close()
 
     return zip_filename
index c89d5efc45eb19e1cbd714871d3c2748545b2de6..b5d9dc387ddd0997375278d50e3653789722e841 100644 (file)
@@ -329,8 +329,7 @@ class Command:
     # -- External world manipulation -----------------------------------
 
     def warn(self, msg):
-        log.warn("warning: %s: %s\n" %
-                (self.get_command_name(), msg))
+        log.warn("warning: %s: %s\n", self.get_command_name(), msg)
 
     def execute(self, func, args, msg=None, level=1):
         util.execute(func, args, msg, dry_run=self.dry_run)
index f1bfb24923577558ba398fb2b7a205115560055f..e9274d925afa4388d7e786523f87401a50944bdb 100644 (file)
@@ -85,7 +85,7 @@ class bdist_dumb(Command):
         install.skip_build = self.skip_build
         install.warn_dir = 0
 
-        log.info("installing to %s" % self.bdist_dir)
+        log.info("installing to %s", self.bdist_dir)
         self.run_command('install')
 
         # And make an archive relative to the root of the
index f03a4e31d8d7e2216597239e8fcffc20b5c44638..5e51ae4ba152bad587435fa62c66a366c9060f2d 100644 (file)
@@ -363,9 +363,9 @@ class build_ext(Command):
 
             ext_name, build_info = ext
 
-            log.warn(("old-style (ext_name, build_info) tuple found in "
-                      "ext_modules for extension '%s'"
-                      "-- please convert to Extension instance" % ext_name))
+            log.warn("old-style (ext_name, build_info) tuple found in "
+                     "ext_modules for extension '%s'"
+                     "-- please convert to Extension instance", ext_name)
 
             if not (isinstance(ext_name, str) and
                     extension_name_re.match(ext_name)):
index b1fd09e0160dab8f0c781192d46b8b164a6511e0..4ae153d1943f22a750b5d78de563ee7fd9f81b68 100644 (file)
@@ -337,7 +337,7 @@ def dump_file(filename, head=None):
     If head is not None, will be dumped before the file content.
     """
     if head is None:
-        log.info('%s' % filename)
+        log.info('%s', filename)
     else:
         log.info(head)
     file = open(filename)
index 9474e9c5997dd850cdbff7118184722a9bbe38a9..fca05d69c619c26a53d02462973fff93a2a9d90a 100644 (file)
@@ -385,7 +385,7 @@ class install(Command):
             else:
                 opt_name = opt_name.translate(longopt_xlate)
                 val = getattr(self, opt_name)
-            log.debug("  %s: %s" % (opt_name, val))
+            log.debug("  %s: %s", opt_name, val)
 
     def finalize_unix(self):
         """Finalizes options for posix platforms."""
index 456d50d519a1eac832a869e95f1eb8d3f94dd4bf..0fac94e9e54905688d0e359fc5a9b96b703afab5 100644 (file)
@@ -94,7 +94,7 @@ class register(PyPIRCCommand):
         '''
         # send the info to the server and report the result
         (code, result) = self.post_to_server(self.build_post_data('verify'))
-        log.info('Server response (%s): %s' % (code, result))
+        log.info('Server response (%s): %s', code, result)
 
     def send_metadata(self):
         ''' Send the metadata to the package index server.
@@ -205,7 +205,7 @@ Your selection [default 1]: ''', log.INFO)
                 data['email'] = input('   EMail: ')
             code, result = self.post_to_server(data)
             if code != 200:
-                log.info('Server response (%s): %s' % (code, result))
+                log.info('Server response (%s): %s', code, result)
             else:
                 log.info('You will receive an email shortly.')
                 log.info(('Follow the instructions in it to '
@@ -216,7 +216,7 @@ Your selection [default 1]: ''', log.INFO)
             while not data['email']:
                 data['email'] = input('Your email address: ')
             code, result = self.post_to_server(data)
-            log.info('Server response (%s): %s' % (code, result))
+            log.info('Server response (%s): %s', code, result)
 
     def build_post_data(self, action):
         # figure the data to send - the metadata plus some additional
index f1b8d91977b4dff762e0fa9c47f6a4b165b9a058..4fd1d4715de2dcd36648c0fc7936c3ac444699cd 100644 (file)
@@ -412,7 +412,7 @@ class sdist(Command):
             log.info(msg)
         for file in files:
             if not os.path.isfile(file):
-                log.warn("'%s' not a regular file -- skipping" % file)
+                log.warn("'%s' not a regular file -- skipping", file)
             else:
                 dest = os.path.join(base_dir, file)
                 self.copy_file(file, dest, link=link)
index dd57dcf18b8295b07158ba466164c2d59cd5db54..30d5fcf2e0b56a6f934a144e1d6f883aa969fc36 100644 (file)
@@ -105,11 +105,11 @@ class BuildSSL:
 
     def _subprocess_call(self, cmd, stdout=subprocess.DEVNULL, env=None,
                          **kwargs):
-        log.debug("Call '{}'".format(" ".join(cmd)))
+        log.debug("Call '%s'", " ".join(cmd))
         return subprocess.check_call(cmd, stdout=stdout, env=env, **kwargs)
 
     def _subprocess_output(self, cmd, env=None, **kwargs):
-        log.debug("Call '{}'".format(" ".join(cmd)))
+        log.debug("Call '%s'", " ".join(cmd))
         out = subprocess.check_output(cmd, env=env)
         return out.strip().decode("utf-8")
 
@@ -168,7 +168,7 @@ class BuildSSL:
             if not self.has_src:
                 self._download_openssl()
             else:
-                log.debug("Already has src {}".format(self.src_file))
+                log.debug("Already has src %s", self.src_file)
             self._unpack_openssl()
             self._build_openssl()
             self._install_openssl()
index 006ecdddb492207dcd8042db7d49eb2ead926434..8c13cf29a089eea6a858fcf9b0af4a748fe6ec2f 100644 (file)
--- a/setup.py
+++ b/setup.py
@@ -186,7 +186,7 @@ def find_module_file(module, dirlist):
     if not list:
         return module
     if len(list) > 1:
-        log.info("WARNING: multiple copies of %s found"%module)
+        log.info("WARNING: multiple copies of %s found"module)
     return os.path.join(list[0], module)
 
 class PyBuildExt(build_ext):
@@ -2213,7 +2213,7 @@ class PyBuildScripts(build_scripts):
                 newfilename = filename + fullversion
             else:
                 newfilename = filename + minoronly
-            log.info('renaming {} to {}'.format(filename, newfilename))
+            log.info('renaming %s to %s', filename, newfilename)
             os.rename(filename, newfilename)
             newoutfiles.append(newfilename)
             if filename in updated_files: