log level
debug<info<warning<error<critical
By default, three levels of logs of warning, error, and critical are printed.
import logging
logging.debug('debug message')
logging.info('info message')
logging.warning('warning message')
logging.error('error message')
logging.critical('critical message')
result:
WARNING:root:warning message
ERROR:root:error message
CRITICAL:root:critical message
formatted print log
import logging
logging.basicConfig(
level=logging.DEBUG,
format='%(asctime)s %(filename)s [line:%(lineno)d] %(levelname)s %(message)s',
datefmt = '%a %d %b %Y %H:%M:%S',
filename='test.log',
filemode = 'w'
)
logging.debug('debug message')
logging.info('info message')
logging.warning('warning message')
logging.error('error message')
logging.critical('critical message')
Mon 23 Apr 2018 10:41:51 log.py [line:10] DEBUG debug message
Mon 23 Apr 2018 10:41:51 log.py [line:11] INFO info message
Mon 23 Apr 2018 10:41:51 log .py [line:12] WARNING warning message
Mon 23 Apr 2018 10:41:51 log.py [line:13] ERROR error message
Mon 23 Apr 2018 10:41:51 log.py [line:14] CRITICAL critical message
level prints the lowest level
asctime time filename file name lineno line number levelname log level message information
datefmt format time %a week %d day %b month %Y year %H time %M minutes %S seconds
filename file
filemode write mode
Simultaneous printing of document and screen
import logging
logger = logging.getLogger()
fh = logging.FileHandler('test.log')
ch = logging.StreamHandler()
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s = %(message)s')
fh.setFormatter(formatter)
ch.setFormatter(formatter)
logger.addHandler(fh)
logger.addHandler(ch)
logger.setLevel(logging.DEBUG)
logger.debug('logger debug message')
logger.info('logger info message')
logger.warning('logger warning message')
logger.error('logger error message')
logger.critical('logger critical message')