logging模块是在2.3新引进的功能,下面是一些常用的类和模块级函数 模块级函数logging.getLogger([name]):返回一个logger对象,如果没有指定名字将返回root loggerlogging.debug()、logging.info()、logging.warning()、logging.error()、logging.critical():设定root logger的日志级别logging.basicConfig():用默认Formatter为日志系统建立一个StreamHandler,设置基础配置并加到root logger中?12345678910111213141516171819importloggingimportsysLEVELS
={'debug': logging.DEBUG,'info': logging.INFO,'warning': logging.WARNING,'error': logging.ERROR,'critical': logging.CRITICAL}iflen(sys.argv) > 1:level_name
=sys.argv[1]level
=LEVELS.get(level_name, logging.NOTSET)logging.basicConfig(level=level)logging.debug('This is a debug message')logging.info('This is an info message')logging.warning('This is a warning message')logging.error('This is an error message')logging.critical('This is a critical error message')$ python logging_level_example.py debug
DEBUG:root:This is a debug message
INFO:root:This is an info message
WARNING:root:This is a warning message
ERROR:root:This is an error message
CRITICAL:root:This is a critical error message
$ python logging_level_example.py info
INFO:root:This is an info message
WARNING:root:This is a warning message
ERROR:root:This is an error message
CRITICAL:root:This is a critical error messageLoggersLogger.setLevel(lel):指定最低的日志级别,低于lel的级别将被忽略。debug是最低的内置级别,critical为最高Logger.addFilter(filt)、Logger.removeFilter(filt):添加或删除指定的filterLogger.addHandler(hdlr)、Logger.removeHandler(hdlr):增加或删除指定的handlerLogger.debug()、Logger.info()、Logger.warning()、Logger.error()、Logger.critical():可以设置的日志级别?12345678910111213141516171819202122232425importlogging# create loggerlogger
=logging.getLogger("simple_example")logger.setLevel(logging.DEBUG)# create console handler and set level to debugch
=logging.StreamHandler()ch.setLevel(logging.DEBUG)# create formatterformatter
=logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s")# add formatter to chch.setFormatter(formatter)# add ch to loggerlogger.addHandler(ch)# "application" codelogger.debug("debug message")logger.info("info message")logger.warn("warn message")logger.error("error message")logger.critical("critical message")$ python simple_logging_module.py
2005-03-19 15:10:26,618 - simple_example - DEBUG - debug message
2005-03-19 15:10:26,620 - simple_example - INFO - info message
2005-03-19 15:10:26,695 - simple_example - WARNING - warn message
2005-03-19 15:10:26,697 - simple_example - ERROR - error message
2005-03-19 15:10:26,773 - simple_example - CRITICAL - critical message