1. 程式人生 > >python logging模塊用法

python logging模塊用法

etl 事件 err ger 而且 formatter python port war

http://blog.csdn.net/zyz511919766/article/details/25136485/

import logging  
logging.debug(debug message)  
logging.info(info message)  
logging.warning(warning message)  
logging.error(error message)  
logging.critical(critical message)  

這種,直接將log信息打開在屏幕上,而且只打印 warning及以上的信息,

日誌級別等級CRITICAL > ERROR > WARNING > INFO > DEBUG > NOTSET

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=E:/tmp/test.log,  
                    filemode=w)  
logging.debug(
debug message) logging.info(info message) logging.warning(warning message) logging.error(error message) logging.critical(critical message)

這種 ,將日誌輸出到test.log中,

另外 還可以創建一個logging的實例 logger

#coding:utf-8  
import logging  
  
# 創建一個logger    
logger = logging.getLogger()  
  
logger1 
= logging.getLogger(mylogger) logger1.setLevel(logging.DEBUG) logger2 = logging.getLogger(mylogger) logger2.setLevel(logging.INFO) logger3 = logging.getLogger(mylogger.child1) logger3.setLevel(logging.WARNING) logger4 = logging.getLogger(mylogger.child1.child2) logger4.setLevel(logging.DEBUG) logger5 = logging.getLogger(mylogger.child1.child2.child3) logger5.setLevel(logging.DEBUG) # 創建一個handler,用於寫入日誌文件 fh = logging.FileHandler(/tmp/test.log) # 再創建一個handler,用於輸出到控制臺 ch = logging.StreamHandler() # 定義handler的輸出格式formatter formatter = logging.Formatter(%(asctime)s - %(name)s - %(levelname)s - %(message)s) fh.setFormatter(formatter) ch.setFormatter(formatter) #定義一個filter #filter = logging.Filter(mylogger.child1.child2) #fh.addFilter(filter) # 給logger添加handler #logger.addFilter(filter) logger.addHandler(fh) logger.addHandler(ch) #logger1.addFilter(filter) logger1.addHandler(fh) logger1.addHandler(ch) logger2.addHandler(fh) logger2.addHandler(ch) #logger3.addFilter(filter) logger3.addHandler(fh) logger3.addHandler(ch) #logger4.addFilter(filter) logger4.addHandler(fh) logger4.addHandler(ch) logger5.addHandler(fh) logger5.addHandler(ch) # 記錄一條日誌 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) logger1.debug(logger1 debug message) logger1.info(logger1 info message) logger1.warning(logger1 warning message) logger1.error(logger1 error message) logger1.critical(logger1 critical message) logger2.debug(logger2 debug message) logger2.info(logger2 info message) logger2.warning(logger2 warning message) logger2.error(logger2 error message) logger2.critical(logger2 critical message) logger3.debug(logger3 debug message) logger3.info(logger3 info message) logger3.warning(logger3 warning message) logger3.error(logger3 error message) logger3.critical(logger3 critical message) logger4.debug(logger4 debug message) logger4.info(logger4 info message) logger4.warning(logger4 warning message) logger4.error(logger4 error message) logger4.critical(logger4 critical message) logger5.debug(logger5 debug message) logger5.info(logger5 info message) logger5.warning(logger5 warning message) logger5.error(logger5 error message) logger5.critical(logger5 critical message)

並綁定兩個事件,分別輸出的控制臺和文件內

python logging模塊用法