python logging模块
- import sys
- import logging
-
- #首先获得一个类
- logger = logging.getLogger('example') #example为名字
- logger.setLevel(logging.DEBUG) #总开关
-
- formatter = logging.Formatter('%(name)-12s %(asctime)-8s %(level)s %(message)s','%a,%d %b %Y %H:%M:%S')
- file_handler = logging.FileHandler('filename')
- file_handler.setFormatter(formatter)
- file_handler.setLevel(logging.INFO)
- #输出信息先经过logger对象的过滤再发送到handler,再做一定的处理
- #设置格式,并将格式置于句柄上
-
- stream_handler = logging.StreamHandler(sys.stderr)
- logger.addHandler(file_handler)
- #将句柄添加到logger对象
- log.removeHandler(stream_handler)
- logger.info("info message")
- logger.error("error info")
- logger.info("info %s"%(error_str))
- log.error("error %s", 'next next', exc_info = 0) #exe_info为True的时候打印exception中的内容
logging有五个等级依次为DEBUG,INFO,WARNING,ERROR,CRITICAL,总开关的级别就决定了handler的级别,是与的关系,这种情况下就能让屏幕输出的为error级别,而日志则为debug级别,就有了进一步的区分,另外还有logger.infor('')
traceback.print_exc()