mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 05:31:20 +00:00 
			
		
		
		
	Closes #27904: Improved logging statements to defer formatting until needed.
This commit is contained in:
		
							parent
							
								
									ee47e5cf8a
								
							
						
					
					
						commit
						dd917f84e3
					
				
					 15 changed files with 25 additions and 26 deletions
				
			
		|  | @ -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:: | ||||
| 
 | ||||
|  |  | |||
|  | @ -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) | ||||
|  |  | |||
|  | @ -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 | ||||
|  |  | |||
|  | @ -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:: | ||||
| 
 | ||||
|  |  | |||
|  | @ -1069,7 +1069,7 @@ def subprocess_shell(self, protocol_factory, cmd, *, stdin=subprocess.PIPE, | |||
|         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 @@ def subprocess_exec(self, protocol_factory, program, *args, | |||
|             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): | ||||
|  |  | |||
|  | @ -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 | ||||
|  |  | |||
|  | @ -329,8 +329,7 @@ def get_sub_commands(self): | |||
|     # -- 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) | ||||
|  |  | |||
|  | @ -85,7 +85,7 @@ def run(self): | |||
|         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 | ||||
|  |  | |||
|  | @ -363,9 +363,9 @@ def check_extensions_list(self, extensions): | |||
| 
 | ||||
|             ext_name, build_info = ext | ||||
| 
 | ||||
|             log.warn(("old-style (ext_name, build_info) tuple found in " | ||||
|             log.warn("old-style (ext_name, build_info) tuple found in " | ||||
|                      "ext_modules for extension '%s'" | ||||
|                       "-- please convert to Extension instance" % ext_name)) | ||||
|                      "-- please convert to Extension instance", ext_name) | ||||
| 
 | ||||
|             if not (isinstance(ext_name, str) and | ||||
|                     extension_name_re.match(ext_name)): | ||||
|  |  | |||
|  | @ -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) | ||||
|  |  | |||
|  | @ -385,7 +385,7 @@ def dump_dirs(self, msg): | |||
|             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.""" | ||||
|  |  | |||
|  | @ -94,7 +94,7 @@ def verify_metadata(self): | |||
|         ''' | ||||
|         # 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 @@ def send_metadata(self): | |||
|                 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 @@ def send_metadata(self): | |||
|             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 | ||||
|  |  | |||
|  | @ -412,7 +412,7 @@ def make_release_tree(self, base_dir, files): | |||
|             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) | ||||
|  |  | |||
|  | @ -105,11 +105,11 @@ def has_src(self): | |||
| 
 | ||||
|     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 @@ def install_openssl(self): | |||
|             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() | ||||
|  |  | |||
							
								
								
									
										4
									
								
								setup.py
									
										
									
									
									
								
							
							
						
						
									
										4
									
								
								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 @@ def copy_scripts(self): | |||
|                 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: | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Vinay Sajip
						Vinay Sajip