python logging模块

 

  1. import sys  
  2. import logging  
  3.   
  4. #首先获得一个类  
  5. logger = logging.getLogger('example'#example为名字 
  6. logger.setLevel(logging.DEBUG) #总开关 
  7.   
  8. formatter = logging.Formatter('%(name)-12s %(asctime)-8s %(level)s %(message)s','%a,%d %b %Y %H:%M:%S')  
  9. file_handler = logging.FileHandler('filename')  
  10. file_handler.setFormatter(formatter)  
  11. file_handler.setLevel(logging.INFO)  
  12. #输出信息先经过logger对象的过滤再发送到handler,再做一定的处理  
  13. #设置格式,并将格式置于句柄上  
  14.   
  15. stream_handler = logging.StreamHandler(sys.stderr)  
  16. logger.addHandler(file_handler)  
  17. #将句柄添加到logger对象  
  18. log.removeHandler(stream_handler)  
  19. logger.info("info message")  
  20. logger.error("error info"
  21. logger.info("info %s"%(error_str))  
  22. 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()