该文档是提供一个python logging模块的使用实例,代码取自swift-bench
1. 创建logger对象,该对象的创建,采用单例模式,只要参数一下,logger对象也就是同一个。
logger = logging.getLogger('bench-server')
2. 设置logger的级别,告诉logger处理的日志级别
level = logging.DEBUG if conf.log_level.lower() == 'debug' \
else logging.INFO
logger.setLevel(level)
3. 创建处理日志的handler,handler的类型有多种:文件、socket、stream等。
loghandler = logging.StreamHandler(client_file)
4. 定义、设置日志格式
logformat = logging.Formatter(
'bench-server %(asctime)s %(levelname)s %(message)s')
loghandler.setFormatter(logformat)
5. 为logger注册handler
logger.addHandler(loghandler)
6. logger的使用实例:
logger.warning('Socket error', exc_info=1)
logger.info('...bench run completed; waiting for next run.')
7. 注销handler
logger.removeHandler(loghandler)