日志log

作者: 小二哥很二 | 来源:发表于2019-07-25 20:19 被阅读0次

    写自动化测试的时候,都要用的日志模块:

    import logging
    
    if __name__ == '__main__':
        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='mylog.log',
    # filemode='w')
    # format是日志输出的格式:%(lineno)d为日志的行号,%(levelname)s为日志的等级,%(message)s日志信息# filemode即为日志的读写操作,和excle一样    
        logging.debug(u'这是debug级别日志记录')
        logging.info(u'这是信息级别日志记录')
        logging.warning(u'这是警告级别日子记录')
    

    结果:
    2019-05-11 18:08:12,554 BasePage.py [line:221 DEBUG 这是debug级别日志记录
    2019-05-11 18:08:12,554 BasePage.py [line:222 INFO 这是信息级别日志记录
    2019-05-11 18:08:12,555 BasePage.py [line:223 WARNING 这是警告级别日子记录

    ----------------------------------------------------------------

    import logging
    import os
    import time
    
    class LogGen():
        def __init__(self,logger):
            self.logger=logging.getLogger(logger)
            self.logger.setLevel(logging.INFO)
            #存放路径
            lt=time.strftime('%Y%m%d%H%M',time.localtime(time.time()))
            logname=os.path.dirname(os.path.abspath('.'))+'\\logs\\'+lt+'.log'
            file=logging.FileHandler(logname)
            file.setLevel(logging.INFO)
            #可以在终端print出来
            consoleh=logging.StreamHandler()
            consoleh.setLevel(logging.INFO)
            #写入数据,设置格式
            formatter=logging.Formatter('%(asctime)s - %(name)s -%(levelname)s - %(lineno)s -%(message)s')
            file.setFormatter(formatter)
            consoleh.setFormatter(formatter)
            self.logger.addHandler(file)
            self.logger.addHandler(consoleh)
    # logger.info('hello,first test')
        def getlog(self):
            return self.logger
    
    image.png

    PS:觉得这篇文章有用的朋友,多多点赞打赏哦~!

    相关文章

      网友评论

          本文标题:日志log

          本文链接:https://www.haomeiwen.com/subject/eipkrctx.html