mirror of
				https://github.com/python/cpython.git
				synced 2025-11-04 03:44:55 +00:00 
			
		
		
		
	Merged documentation update from 3.3.
This commit is contained in:
		
						commit
						3fdd4f1935
					
				
					 1 changed files with 34 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -1094,6 +1094,40 @@ parentheses go around the format string and the arguments, not just the format
 | 
			
		|||
string. That's because the __ notation is just syntax sugar for a constructor
 | 
			
		||||
call to one of the XXXMessage classes.
 | 
			
		||||
 | 
			
		||||
If you prefer, you can use a :class:`LoggerAdapter` to achieve a similar effect
 | 
			
		||||
to the above, as in the following example::
 | 
			
		||||
 | 
			
		||||
    import logging
 | 
			
		||||
 | 
			
		||||
    class Message(object):
 | 
			
		||||
        def __init__(self, fmt, args):
 | 
			
		||||
            self.fmt = fmt
 | 
			
		||||
            self.args = args
 | 
			
		||||
 | 
			
		||||
        def __str__(self):
 | 
			
		||||
            return self.fmt.format(*self.args)
 | 
			
		||||
 | 
			
		||||
    class StyleAdapter(logging.LoggerAdapter):
 | 
			
		||||
        def __init__(self, logger, extra=None):
 | 
			
		||||
            super(StyleAdapter, self).__init__(logger, extra or {})
 | 
			
		||||
 | 
			
		||||
        def log(self, level, msg, *args, **kwargs):
 | 
			
		||||
            if self.isEnabledFor(level):
 | 
			
		||||
                msg, kwargs = self.process(msg, kwargs)
 | 
			
		||||
                self.logger._log(level, Message(msg, args), (), **kwargs)
 | 
			
		||||
 | 
			
		||||
    logger = StyleAdapter(logging.getLogger(__name__))
 | 
			
		||||
 | 
			
		||||
    def main():
 | 
			
		||||
        logger.debug('Hello, {}', 'world!')
 | 
			
		||||
 | 
			
		||||
    if __name__ == '__main__':
 | 
			
		||||
        logging.basicConfig(level=logging.DEBUG)
 | 
			
		||||
        main()
 | 
			
		||||
 | 
			
		||||
The above script should log the message ``Hello, world!`` when run with
 | 
			
		||||
Python 3.2 or later.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
.. currentmodule:: logging
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue