diff -r 4340be056a7c Doc/library/contextlib.rst --- a/Doc/library/contextlib.rst Tue Aug 30 13:46:29 2016 -0700 +++ b/Doc/library/contextlib.rst Wed Aug 31 00:22:18 2016 +0300 @@ -590,10 +590,10 @@ 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:: diff -r 4340be056a7c Doc/library/shutil.rst --- a/Doc/library/shutil.rst Tue Aug 30 13:46:29 2016 -0700 +++ b/Doc/library/shutil.rst Wed Aug 31 00:22:18 2016 +0300 @@ -425,7 +425,7 @@ 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) diff -r 4340be056a7c Doc/library/typing.rst --- a/Doc/library/typing.rst Tue Aug 30 13:46:29 2016 -0700 +++ b/Doc/library/typing.rst Wed Aug 31 00:22:18 2016 +0300 @@ -204,7 +204,7 @@ 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 diff -r 4340be056a7c Doc/whatsnew/3.2.rst --- a/Doc/whatsnew/3.2.rst Tue Aug 30 13:46:29 2016 -0700 +++ b/Doc/whatsnew/3.2.rst Wed Aug 31 00:22:18 2016 +0300 @@ -1253,9 +1253,9 @@ @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:: diff -r 4340be056a7c Lib/asyncio/base_events.py --- a/Lib/asyncio/base_events.py Tue Aug 30 13:46:29 2016 -0700 +++ b/Lib/asyncio/base_events.py Wed Aug 31 00:22:18 2016 +0300 @@ -1069,7 +1069,7 @@ 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 @@ 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): diff -r 4340be056a7c Lib/distutils/archive_util.py --- a/Lib/distutils/archive_util.py Tue Aug 30 13:46:29 2016 -0700 +++ b/Lib/distutils/archive_util.py Wed Aug 31 00:22:18 2016 +0300 @@ -171,7 +171,7 @@ 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 diff -r 4340be056a7c Lib/distutils/cmd.py --- a/Lib/distutils/cmd.py Tue Aug 30 13:46:29 2016 -0700 +++ b/Lib/distutils/cmd.py Wed Aug 31 00:22:18 2016 +0300 @@ -329,8 +329,7 @@ # -- 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) diff -r 4340be056a7c Lib/distutils/command/bdist_dumb.py --- a/Lib/distutils/command/bdist_dumb.py Tue Aug 30 13:46:29 2016 -0700 +++ b/Lib/distutils/command/bdist_dumb.py Wed Aug 31 00:22:18 2016 +0300 @@ -85,7 +85,7 @@ 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 diff -r 4340be056a7c Lib/distutils/command/build_ext.py --- a/Lib/distutils/command/build_ext.py Tue Aug 30 13:46:29 2016 -0700 +++ b/Lib/distutils/command/build_ext.py Wed Aug 31 00:22:18 2016 +0300 @@ -363,9 +363,9 @@ 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)): diff -r 4340be056a7c Lib/distutils/command/config.py --- a/Lib/distutils/command/config.py Tue Aug 30 13:46:29 2016 -0700 +++ b/Lib/distutils/command/config.py Wed Aug 31 00:22:18 2016 +0300 @@ -337,7 +337,7 @@ 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) diff -r 4340be056a7c Lib/distutils/command/install.py --- a/Lib/distutils/command/install.py Tue Aug 30 13:46:29 2016 -0700 +++ b/Lib/distutils/command/install.py Wed Aug 31 00:22:18 2016 +0300 @@ -385,7 +385,7 @@ 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.""" diff -r 4340be056a7c Lib/distutils/command/register.py --- a/Lib/distutils/command/register.py Tue Aug 30 13:46:29 2016 -0700 +++ b/Lib/distutils/command/register.py Wed Aug 31 00:22:18 2016 +0300 @@ -94,7 +94,7 @@ ''' # 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 @@ 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 @@ 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 diff -r 4340be056a7c Lib/distutils/command/sdist.py --- a/Lib/distutils/command/sdist.py Tue Aug 30 13:46:29 2016 -0700 +++ b/Lib/distutils/command/sdist.py Wed Aug 31 00:22:18 2016 +0300 @@ -412,7 +412,7 @@ 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) diff -r 4340be056a7c Tools/ssl/test_multiple_versions.py --- a/Tools/ssl/test_multiple_versions.py Tue Aug 30 13:46:29 2016 -0700 +++ b/Tools/ssl/test_multiple_versions.py Wed Aug 31 00:22:18 2016 +0300 @@ -105,11 +105,11 @@ 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 @@ 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() diff -r 4340be056a7c setup.py --- a/setup.py Tue Aug 30 13:46:29 2016 -0700 +++ b/setup.py Wed Aug 31 00:22:18 2016 +0300 @@ -186,7 +186,7 @@ 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 @@ 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: