首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

python 应用logging多线程写多个log文件

2012-12-20 
python 使用logging多线程写多个log文件import threadingimport timeimport loggingimport logging.handle

python 使用logging多线程写多个log文件

import threadingimport timeimport loggingimport logging.handlersLEVELS={'notset':logging.DEBUG,        'debug':logging.DEBUG,        'info':logging.INFO,        'warning':logging.WARNING,        'error':logging.ERROR,        'critical':logging.CRITICAL}LOG_FILENAME = 'test.log'LOG_BACKUPCOUNT = 5LOG_LEVEL = 'notset'def InitLog(file_name,logger):    LOG_FILENAME = file_name        handler = logging.handlers.RotatingFileHandler(LOG_FILENAME,maxBytes=10*1024*1024,backupCount=LOG_BACKUPCOUNT)    #handler = logging.FileHandler(LOG_FILENAME)    formatter = logging.Formatter("[ %(asctime)s ][ %(levelname)s ] %(message)s\n")    handler.setFormatter(formatter)        #logger = logging.getLogger()    logger.addHandler(handler)    logger.setLevel(LEVELS.get(LOG_LEVEL.lower()))    return logger                class t1(threading.Thread):    def __init__(self,threadName):        threading.Thread.__init__(self,name = threadName)        logger1 = logging.getLogger("thread.a")        self.logger = InitLog("thread1.log",logger1)            def run(self):        global i        self.logger.info("test1")        while True:            print '*************hello t1*****************'            self.logger.info("******hello t1******")            self.logger.debug("t1 debug")            self.logger.warning("t1 warning")            self.logger.error("t1 error")            i += 1            print i            if i> 10:                break            time.sleep(3)        self.logger.info("test1 over")class t2(threading.Thread):    def __init__(self,threadName):        threading.Thread.__init__(self,name = threadName)        logger2 = logging.getLogger("thread.b")        self.logger = InitLog("thread2.log",logger2)                print "self.logger = %s" %self.logger        None    def run(self):        global i        self.logger.info("test2")        while True:            print 'hello t2'            self.logger.info("hello t2")            self.logger.debug("t2 debug")            self.logger.warning("t2 warning")            self.logger.error("t2 error")            i += 1            print i            if i > 10:                break            time.sleep(5)        self.logger.info("test2.over")i = 0p1 = t1('p1')p1.start()p2 = t2('p2')p2.start()

热点排行