Python日志模块的管理(二)
日志模块可以通过封装一个类,也可以通过配置文件取管理
新建1个log.ini文件
[loggers]
keys=root [handlers]
keys=fileHandler,streamHandler [formatters]
keys=simpleFormatter [logger_root]
level=INFO
handlers=fileHandler,streamHandler [handler_fileHandler]
class=FileHandler
level=INFO
formatter=simpleFormatter
args=('mylog.log','a','utf-8') [handler_streamHandler]
class=StreamHandler
level=INFO
formatter=simpleFormatter [formatter_simpleFormatter]
format=%(asctime)s %(filename)s %(levelname)s %(funcName)s %(message)s
在程序中进行调用
'''
使用配置文件,进行设置日志
''' import logging.config
import time # 拿到配置文件
logging.config.fileConfig('../Data/log.ini')
# 拿到日志器
log =logging.getLogger() class BasePage:
# 想要把操作记录在日志文件中。调用日志中的级别
def __init__(self, driver):
log.info('初始化driver{}'.format(driver))
self.driver = driver def open(self, url):
log.info('正在访问网址{}'.format(url))
self.driver.get(url) def locator(self, name, value):
return self.driver.find_element(name, value) def on_input(self, name, value, txt):
try:
log.info('正在定位{}元素,元素值为{},输入的内容为{}'.format(name, value, txt))
self.locator(name, value).send_keys(txt)
except Exception as e:
log.error('输入内容失败%s' % e) def on_click(self, name, value):
try:
log.info('正在定位{}元素,元素值为{},进行点击'.format(name, value))
self.locator(name, value).click()
except Exception as e:
log.error('点击按钮失败%s' % e) def wait(self, t):
log.info('正在等待')
time.sleep(t) def close(self):
log.info('关闭浏览器')
self.driver.quit()
进行使用:
# from Study.Practices.practice5 import BasePage
from Study.Practices.BaseLog import BasePage
from selenium import webdriver driver=BasePage(webdriver.Chrome())
driver.open('http://www.baidu.com')
driver.on_input('id','kw','秋水')
driver.on_click('id','su')
driver.wait(3)
driver.on_click('xpath','//*[@id="1"]/h3/a/em')
driver.wait(3)
driver.close()
控制台产生日志
C:\Users\ceshi001\PycharmProjects\pythonstudy\venv\Scripts\python.exe C:/Users/ceshi001/PycharmProjects/pythonstudy/Study/Practices/practice2.py
2021-04-28 15:39:02,159 BaseLog.py INFO __init__ 初始化driver<selenium.webdriver.chrome.webdriver.WebDriver (session="520f01d9b7f6aca1b0d1d4f8ce54c39f")>
2021-04-28 15:39:02,159 BaseLog.py INFO open 正在访问网址http://www.baidu.com
2021-04-28 15:39:02,810 BaseLog.py INFO on_input 正在定位id元素,元素值为kw,输入的内容为秋水
2021-04-28 15:39:02,909 BaseLog.py INFO on_click 正在定位id元素,元素值为su,进行点击
2021-04-28 15:39:03,011 BaseLog.py INFO wait 正在等待
2021-04-28 15:39:06,012 BaseLog.py INFO on_click 正在定位xpath元素,元素值为//*[@id="1"]/h3/a/em,进行点击
2021-04-28 15:39:06,078 BaseLog.py INFO wait 正在等待
2021-04-28 15:39:09,080 BaseLog.py INFO close 关闭浏览器 Process finished with exit code 0
文件中产生日志:
2021-04-28 15:39:02,159 BaseLog.py INFO __init__ 初始化driver<selenium.webdriver.chrome.webdriver.WebDriver (session="520f01d9b7f6aca1b0d1d4f8ce54c39f")>
2021-04-28 15:39:02,159 BaseLog.py INFO open 正在访问网址http://www.baidu.com
2021-04-28 15:39:02,810 BaseLog.py INFO on_input 正在定位id元素,元素值为kw,输入的内容为秋水
2021-04-28 15:39:02,909 BaseLog.py INFO on_click 正在定位id元素,元素值为su,进行点击
2021-04-28 15:39:03,011 BaseLog.py INFO wait 正在等待
2021-04-28 15:39:06,012 BaseLog.py INFO on_click 正在定位xpath元素,元素值为//*[@id="1"]/h3/a/em,进行点击
2021-04-28 15:39:06,078 BaseLog.py INFO wait 正在等待
2021-04-28 15:39:09,080 BaseLog.py INFO close 关闭浏览器
Python日志模块的管理(二)的更多相关文章
- python日志模块logging
python日志模块logging 1. 基础用法 python提供了一个标准的日志接口,就是logging模块.日志级别有DEBUG.INFO.WARNING.ERROR.CRITICAL五种( ...
- Python 日志模块实例
python 打印对象的所有属性值: def prn_obj(obj): print '\n'.join(['%s:%s' % item for item in obj.__dict__.it ...
- python日志模块
许多应用程序中都会有日志模块,用于记录系统在运行过程中的一些关键信息,以便于对系 统的运行状况进行跟踪.在.NET平台中,有非常著名的第三方开源日志组件log4net,c++中,有人们熟悉的log4c ...
- Python::OS 模块 -- 进程管理
os模块的简介参看 Python::OS 模块 -- 简介 os模块的文件相关操作参看 Python::OS 模块 -- 文件和目录操作 os模块的进程参数 Python::OS 模块 -- 进程参数 ...
- Python日志模块logging用法
1.日志级别 日志一共分成5个等级,从低到高分别是:DEBUG INFO WARNING ERROR CRITICAL. DEBUG:详细的信息,通常只出现在诊断问题上 INFO:确认一切按预期运行 ...
- python日志模块的使用
学习一下python的日志模块logging,可以参考如下博客,写得很详细 https://www.cnblogs.com/yyds/p/6901864.html https://www.cnblog ...
- python日志模块logging学习
介绍 Python本身带有logging模块,其默认支持直接输出到控制台(屏幕),或者通过配置输出到文件中.同时支持TCP.HTTP.GET/POST.SMTP.Socket等协议,将日志信息发送到网 ...
- python日志模块笔记
前言 在应用中记录日志是程序开发的重要一环,也是调试的重要工具.但却很容易让人忽略.之前用flask写的一个服务就因为没有处理好日志的问题导致线上的错误难以察觉,修复错误的定位也很困难.最近恰好有时间 ...
- Python 日志模块详解
前言 我们知道查看日志是开发人员日常获取信息.排查异常.发现问题的最好途径,日志记录中通常会标记有异常产生的原因.发生时间.具体错误行数等信息,这极大的节省了我们的排查时间,无形中提高了编码效率.所以 ...
随机推荐
- linux进阶之gitlab仓库搭建及免密使用
一.Gitlab简介 GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务. 可通过Web界面进行访问公开的或者私人项目.它拥有与Github类 ...
- centos 7安装freescale交叉编译工具链
方法1:可以直接下载gcc包,把文件夹放到/usr/local下即可,然后修改PATH环境变量,既可以使用 方法2:可以下载.rpm包,在本地进行安装,下载地址为(http://www.panduod ...
- python 判断对象是否相等以及eq函数
当对两个点的实例进行值的比较时,比如p1=Point(1,1) p2=Point(1,2),判断p1==p2时__eq__()会被调用,用以判断两个实例是否相等.在上述代码中定义了只要x和y的坐标相同 ...
- unity texture 占用内存大小对比
打包多种类型的项目,空项目和10张放在Resources文件夹中的图为比较案例.以下是比较数据. IPHONE: 1.空项目----空间占用量42.3MB----IPA大小10MB 2.10张1200 ...
- 树莓派 PICO基础教程(基于MicroPython)
目录 1 树莓派 PICO 简介 1.1 简介 1.2 配置 [^2] 1.3 引脚图 1.4 尺寸 2 安装 2.1 烧录固件 2.2 安装IDE(Thonny IDE) 2.3 离线运行程序 3 ...
- Docker学习(14) Docker容器的数据管理
Docker容器的数据管理 Docker容器的数据卷 重要: Docker的数据卷容器 Docker数据卷的备份和还原
- 安全利器 — SELinux
在 Linux 系统中一切皆文件,资源也属于某种文件.用户在访问文件的时候,系统对权限(读.写 .执行)进行检查.只要用户对文件有足够的权限,就可以任意操作资源.root 用户对所有资源拥有所有权限, ...
- Kaggle上的犬种识别(ImageNet Dogs)
Kaggle上的犬种识别(ImageNet Dogs) Dog Breed Identification (ImageNet Dogs) on Kaggle 在本节中,将解决在Kaggle竞赛中的犬种 ...
- RGB Color Codes Chart
RGB Color Codes Chart RGB颜色空间 RGB颜色空间或RGB颜色系统,从红色.绿色和蓝色的组合中构造所有颜色. 红色.绿色和蓝色各使用8位,它们的整数值从0到255.这使得256 ...
- Contos8 安装 MariaDb 时报错:Could not open mysql.plugin table: table mysql.plugin
导语: 因个人服务器误删了一些文件导致MariaDB崩溃,一直在报错,所以想着重装一下,没想到在重装后启动时再次报错(与之前报错不同),这次的报错原因大致是因为某些插件表找不到. 因此又开启了漫长的寻 ...