Python自动化之封装日志模块(一)

Posted on 2021-04-28 12:21  天堂炼狱  阅读(120)  评论(0编辑  收藏  举报

------------恢复内容开始------------

简介:

自己也在训练营学习之中,闲来之余,自己写着玩的,主要还是为了学习,希望和前辈和大佬相互学习共进。

日志模块主要有四大组件:日志器,过滤器,格式器,处理器。

  •  日志器 Logger:提供程序一直使用的接口;
  • 处理器Handler:将日志器创建的日志记录输出到指定位置,不同的处理器可将日志输出到不同的位置;
  • 过滤器Filter:过滤日志,输出哪条日志记录,丢弃哪条日志记录;
  • 格式器Formatter:日志记录的最终输出格式;

日志级别:

  • debug : 调试级别
  • info : 正常级别
  • warning : 警告级别
  • error : 错误,指的是程序层级问题
  • critical : 严重问题,程序崩溃类问题

下面是我自己封装的日志类:

class WebLog:

    def __init__(self):
        self.logger = logging.getLogger()
        self.logger.setLevel(logging.INFO)

    def setLogHandle(self):
        # 创建日志格式
        fmt = '\n' + '%(asctime)s - %(filename)s:%(lineno)s  - %(message)s'
        fm = logging.Formatter(fmt)

        # 创建处理器
        sh = logging.StreamHandler()
        filename = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))
        fh = logging.FileHandler('./log/my_log.log',encoding='utf-8')

        # 把设置的日志放入控制台
        self.logger.addHandler(sh)
        self.logger.addHandler(fh)

        # 设置格式
        fh.setFormatter(fm)
        sh.setFormatter(fm)

        return self.logger

在其他程序中调用该类输出到控制台中:

也可以输出到指定路径下,以文件形式保存下来

2021-04-26 14:04:01,318 - practice5.py:13  - 初始化driver<selenium.webdriver.chrome.webdriver.WebDriver (session="2acf50c53f708f1f9c33e59f7e3f8114")>

2021-04-26 14:04:01,319 - practice5.py:18  - 正在访问网址http://www.baidu.com

2021-04-26 14:04:01,907 - practice5.py:26  - 正在定位id元素,元素值为kw,输入的内容为秋水

2021-04-26 14:04:02,044 - practice5.py:33  - 正在定位id元素,元素值为su,进行点击

2021-04-26 14:04:02,159 - practice5.py:39  - 正在等待

2021-04-26 14:04:05,160 - practice5.py:33  - 正在定位xpath元素,元素值为//*[@id="1"]/h3/a/em,进行点击

2021-04-26 14:04:05,294 - practice5.py:39  - 正在等待

2021-04-26 14:04:08,296 - practice5.py:43  - 关闭浏览器

2021-04-26 14:12:26,593 - practice5.py:13  - 初始化driver<selenium.webdriver.chrome.webdriver.WebDriver (session="b7da4ec5a7843475711685c1be7f85f6")>

2021-04-26 14:12:26,593 - practice5.py:18  - 正在访问网址http://www.baidu.com

2021-04-26 14:12:27,285 - practice5.py:26  - 正在定位id元素,元素值为kw,输入的内容为秋水

2021-04-26 14:12:27,519 - practice5.py:33  - 正在定位id元素,元素值为su,进行点击

2021-04-26 14:12:27,642 - practice5.py:39  - 正在等待

2021-04-26 14:12:30,643 - practice5.py:33  - 正在定位xpath元素,元素值为//*[@id="1"]/h3/a/em,进行点击

2021-04-26 14:12:30,733 - practice5.py:39  - 正在等待

2021-04-26 14:12:33,734 - practice5.py:43  - 关闭浏览器

2021-04-28 11:03:35,572 - practice5.py:13  - 初始化driver<selenium.webdriver.chrome.webdriver.WebDriver (session="3679b7d78552cf68bf11ed42129de9af")>

2021-04-28 11:03:35,573 - practice5.py:18  - 正在访问网址http://www.baidu.com

2021-04-28 11:03:36,245 - practice5.py:26  - 正在定位id元素,元素值为kw,输入的内容为秋水

2021-04-28 11:03:36,349 - practice5.py:33  - 正在定位id元素,元素值为su,进行点击

2021-04-28 11:03:36,478 - practice5.py:39  - 正在等待

2021-04-28 11:03:39,479 - practice5.py:33  - 正在定位xpath元素,元素值为//*[@id="1"]/h3/a/em,进行点击

2021-04-28 11:03:39,542 - practice5.py:39  - 正在等待

2021-04-28 11:03:42,544 - practice5.py:43  - 关闭浏览器

 

------------恢复内容结束------------

Copyright © 2024 天堂炼狱
Powered by .NET 8.0 on Kubernetes