python logging 学习-实例

上一篇 / 下一篇  2015-11-06 09:04:35 / 个人分类:python+selenium

原来做selenium测试一直都是自己写日志文件,偶然看到python自带的logging模块,学习了一下,分享一下。
方法一:
   将logging封装成函数,用以别的文件调用。
# -*- coding: utf-8 -*-
import logging,time,os
import logging.handlers

def log():
    logger=logging.getLogger()
    day=time.strftime("%Y-%m-%d")
    parentdir=os.path.dirname(os.path.dirname(os.path.dirname(__file__)))
    logname=parentdir+"\\log\\"+day+"_log"+".txt"
    logging.basicConfig(filename=logname,
                        level=logging.INFO,
                        format='%(asctime)s %(levelname)s : %(message)s',
                        datefmt='%Y-%m-%d %H:%M:%S',
                        filemode='w',
                        encoding='utf-8')   
    console=logging.StreamHandler()
    console.setLevel(logging.INFO)
    formatter=logging.Formatter("%(asctime)s %(levelname)s : %(message)s","%Y-%m-%d %H:%M:%S")
    console.setFormatter(formatter)
    logger.addHandler(console)
    
    return logger
        
if __name__=="__main__":
    logger=log()
    logger.error("test")
    logger.info("test2")
    logger.info("test3")

方法二:
   将logging封装成类。
# -*- coding: utf-8 -*-
import logging,time,os,sys
import HTMLTestRunner

logger=logging.getLogger()
class addLog:
    def __init__(self):
        #self.logger=logging.getLogger()
        day=time.strftime("%Y-%m-%d")
        parentdir=os.path.dirname(os.path.dirname(os.path.dirname(__file__)))
        logname=parentdir+"\\log\\"+day+"_log"+".txt"
    
        logging.basicConfig(filename=logname,
                            level=logging.INFO,
                            format='%(asctime)s %(levelname)s : %(message)s',
                            datefmt='%Y-%m-%d %H:%M:%S',
                            filemode='w',
                            encoding='utf-8')   
        console=logging.StreamHandler()
        console.setLevel(logging.INFO)
        formatter=logging.Formatter("%(asctime)s %(levelname)s : %(message)s","%Y-%m-%d %H:%M:%S")
        console.setFormatter(formatter)
        #self.logger.addHandler(console)
        logger.addHandler(console)
        
    def log(self):
        #return self.logger
        return logger
    
    
if __name__=="__main__":
    logger=addLog().log()
    logger.info(u"日志")
    logger.info(u"日志2")
    logger.info(u"日志3")


    在附加一个测试文件,调用logging
# -*- coding: utf-8 -*-
import sys
sys.path.append("\public")
from public import *
from selenium import webdriver
import time,unittest
import xlrd,random
from selenium.common.exceptions import *

class testlog(unittest.TestCase):
    def setUp(self):
        pass
        #self.driver=login().init()
        
    def test_log(self):
        logger=log()
        logger.info(u"测试")
        logger.error(u"测试2")        
        logger.info(u"测试3")
    def tearDown(self):
        pass
        #self.driver.quit()   








TAG: Python python logging

 

评分:0

我来说两句

Open Toolbar