51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1019|回复: 0
打印 上一主题 下一主题

logging日志在终端显示的日志缺失,在.log文件和.html报告中正常

[复制链接]
  • TA的每日心情
    无聊
    昨天 09:47
  • 签到天数: 528 天

    连续签到: 1 天

    [LV.9]测试副司令

    跳转到指定楼层
    1#
    发表于 2021-12-14 11:34:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    1测试积点
    在搭建python+request+unittest自动化接口框架时,发现在终端运行时(cmd或Linux或Jenkins)执行时日志缺失,(其他库用到:openpyxl、logging、ddt、HtmlTestRunner等)
    1. from config.filePath import logPath
    2. import logging
    3. from basework.getConfig import getConfig
    4. class getLogging():
    5.     def __init__(self):
    6.         self.gc = getConfig()
    7.         self.loglevel = self.gc.getLoglevel()
    8.         # 判断日志等级
    9.         if self.loglevel == 'info':
    10.             self.level = logging.INFO
    11.         elif self.loglevel == 'error':
    12.             self.level = logging.ERROR
    13.         elif self.loglevel == 'debug':
    14.             self.level = logging.DEBUG
    15.         elif self.loglevel == 'warn':
    16.             self.level = logging.WARN
    17.     def getlogs(self,logger='log',filehandler=True,streamhandler=True):
    18.         self.logger = logging.getLogger(logger)
    19.         self.logger.handlers.clear()
    20.         self.logger.setLevel(self.level)
    21.         self.logname = logPath
    22.         self.fh = logging.FileHandler(self.logname, encoding='utf-8')
    23.         self.fh.setLevel(self.level)
    24.         #         控制台输出
    25.         self.ch = logging.StreamHandler()
    26.         self.ch.setLevel(self.level)
    27.         # 日志格式
    28.         formatter = logging.Formatter('[%(asctime)s] [%(levelname)s]>>> %(message)s')
    29.         self.fh.setFormatter(formatter)
    30.         self.ch.setFormatter(formatter)
    31.         #根据配置是否显示到终端和写入文件
    32.         filehandler, streamhandler=self.gc.getLogHandler()
    33.         if filehandler == True:
    34.             self.logger.addHandler(self.fh)
    35.         else:
    36.             pass
    37.         if streamhandler == True:
    38.             self.logger.addHandler(self.ch)
    39.         else:
    40.             pass
    41.         self.fh.close()
    42.         self.ch.close()
    43.         return self.logger

    44. if __name__ == '__main__':
    45.     lg = getLogging().getlogs('log')
    46.     lg.info('testlog')
    47.     print('aaaaa', lg.info('testlog'))
    复制代码
    运行结果及报错内容

    在pycharm中运行日志

    在cmd中运行日志

    在HTML报告中的日志

    在log文件中的日志

    执行测试用例函数的文件,在这个文件运行,终端显示的日志是全的

    用例类所继承的类

    最终执行的文件

    不知道问题出现在哪?



    附件: 您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-19 22:42 , Processed in 0.065359 second(s), 22 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表