Read a document before logging on in the book, Jane, for your reference: https: //www.jianshu.com/p/62f7b49b41e7
Python logging module provided by the log function, it can be directly introduced
import logging
1. Define log collection, the name of the specified collector, returns the object logging
case_logger = logging.getLogger('case')
2. Specify a log collector log level, NOTEST (0) DEBUG (10) INFO (20) WARNING (30) ERROR (40) CRITICAL (50)
Note: Ratings and collector logs, collecting only specify the log level and above grade
case_logger.setLevel('DEBUG')
3. Define the log output channels, you can define multiple simultaneously: console console, log files, server logs syslog, database
# To the console console_handle = logging.StreamHandler () # output to a log file file_handle = logging.FileHandler ( ' case.log ' , encoding = ' UTF-. 8 ' )
4. Specify the log level log output channels
Note: Collector log level <= input channel level, i.e., the set output channel grade INFO, then the log collector level only NOTEST (0) DEBUG (10) INFO (20)
console_handle.setLevel('ERROR') file_handle.setLevel('INFO')
5. Define log display format, the display format of a particular log file can refer to the official: https: //docs.python.org/3/library/logging.html
= logging.Formatter simple_formatter ( '%% (the asctime) S: %% (name) S: %% (levelname) S') verbose_formatter = logging.Formatter ( ' %% (the asctime) S: %% (name) S: %% (levelname) S: %% (Message) S ' ) # specify the terminal display a simple configuration log console_handle.setFormatter (simple_formatter) # specify a log file display of complex structures log file_handle.setFormatter (verbose_formatter)
6. Log Collector output channels and docking
case_logger.addHandler(console_handle)
case_logger.addHandler(file_handle)
7. Test
case_logger = HandleLog (). get_logger () case_logger.debug ( ' This is the debug level log ' ) case_logger.info ( ' This is the info level log ' ) case_logger.warning ( ' This is the warning level log ' ) case_logger. error ( ' this is the error level log ' ) case_logger.critical ( ' this is a critical stage {: log ' )