python3 logging输出到文件_python3:logging模块 输出日志到文件
python自动化测试脚本运行后,想要将日志保存到某个特定文件,使用python的logging模块实现
参考代码:
importloggingdefinitLogging(logFilename,e):
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s-%(levelname)s-%(message)s',
datefmt= '%y-%m-%d %H:%M',
filename=logFilename,
filemode= 'a')
filehandler= logging.FileHandler(logFilename,encoding='utf-8')
logging.getLogger().addHandler(filehandler )
log=logging.exception(e)return log
1.日志级别使用场景:
在终端输出程序或脚本的使用方法:print
报告一个事件的发生(例如状态的修改):logging.info()或logging.debug()
发生了一个特定的警告性的事件:logging.warn()
发生了一个特定的错误性的事件:raise
发生了一个特定的错误性的事件,但是又不想因为此错误导致程序退出(例如程序是一个守护进程):logging.error(),logging.exception(),logging.critical()
2.logging.basicConfig()函数中可通过具体参数来更改logging模块默认行为,可用参数有:
level:设置日志级别
format:指定handler使用的日志显示格式
datefmt:指定日期时间格式,如果format参数中存在asctime,则需要指定时间格式
filename:用指定的文件名创建FiledHandler,这样日志会被存储在指定的文件中
filemode:文件打开方式,在指定了filename时使用这个参数,默认值为“a”还可指定为“w”
3.format参数中可能用到的格式化串:
%(name)s Logger的名字
%(levelno)s 数字形式的日志级别
%(levelname)s 文本形式的日志级别
%(pathname)s 调用日志输出函数的模块的完整路径名,可能没有
%(filename)s 调用日志输出函数的模块的文件名
%(module)s 调用日志输出函数的模块名
%(funcName)s 调用日志输出函数的函数名
%(lineno)d 调用日志输出函数的语句所在的代码行
%(created)f 当前时间,用UNIX标准的表示时间的浮 点数表示
%(relativeCreated)d 输出日志信息时的,自Logger创建以 来的毫秒数
%(asctime)s 字符串形式的当前时间。默认格式是 “2003-07-08 16:49:45,896”。逗号后面的是毫秒
%(thread)d 线程ID。可能没有
%(threadName)s 线程名。可能没有
%(process)d 进程ID。可能没有
%(message)s用户输出的消息
4.logging模块的了解,必须知道:Logger,Handler,Formatter,Filter
(1)logger 提供了应用程序可以直接使用的接口
每个程序在输出信息之前都要获得一个Logger
Logger.addHandler(hdlr)、Logger.removeHandler(hdlr):增加或删除指定的handler
(2)handler 将(logger创建的)日志记录发送到合适的目的输出
logging.FileHandler用于向一个文件输出日志信息,不过FileHandler会帮你打开这个文件。它的构造函数是:
FileHandler(filename[,mode])filename是文件名,必须指定一个文件名;mode是文件的打开方式
(3)filter 提供了细度设备来决定输出哪条日志记录
(4)formatter 决定日志记录的最终输出格式
5.输出日志结果:
18-06-12 17:34-ERROR-string indices must be integers
Traceback (most recent call last):
File"C:/Users/xx/Documents/GitHub/python3/main/run_test.py", line 70, ingo_on_run
op_header.write_cookie()
File"C:\Users\xx\Documents\GitHub\python3\util\operation_header.py", line 30, inwrite_cookie
cookie=requests.utils.dict_from_cookiejar(self.get_cookie())
File"C:\Users\xx\Documents\GitHub\python3\util\operation_header.py", line 25, inget_cookie
url= self.get_response_url()+"&callback=jQuery21008240514814031887_1508666806688&_=1508666806689"File"C:\Users\xx\Documents\GitHub\python3\util\operation_header.py", line 18, inget_response_url
url= self.response['data']['url'][0]
TypeError: string indices must be integers
参考文档:
https://www.cnblogs.com/Xjng/p/8a481db3399827ecbdec888989f7c0d5.html
https://www.cnblogs.com/wenwei-blog/p/7196658.html
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
python3 logging输出到文件_python3:logging模块 输出日志到文件相关推荐
- python从指定文件夹导入模块_python – 从特定文件夹导入模块
我有一个名为Script的文件夹,里面有temp.py脚本.我的临时脚本从名为lib的子文件夹导入模块. Lib文件夹里面有空的__init__.py和我的parent_computer_test.p ...
- log日志:打印日志到控制台、文件、日志文件分区、打印错误日志到文件
springboot默认会加载classpath:logback-spring.xml文件 如果需要自定义文件名称,在application.properties中配置logging.config 选 ...
- python3标准库书怎么样_Python3标准库:filecmp比较文件
1. filecmp比较文件 filecmp模块提供了一些函数和一个类来比较文件系统上的文件和目录. 1.1 示例数据 使用下面代码创建一组测试文件. importosdef mkfile(filen ...
- python3输出不换行_python3不换行输出
由于python的print()函数默认是以换行符结束的,所以在默认的情况下会自动换行.在Python有一个预定义的格式,如果你使用print(变量),那么它将自动转到下一行.那么如何可以不换行输出呢 ...
- python读取大文件内容_Python模块linecache处理大文件
linecache模块简介 Python处理大文件需要用到Linecache模块. linecache模块的作用是将文件内容读取到内存中,进行缓存,而不是每次都要从硬盘中读取,这样效率提高很多,又省去 ...
- python重命名文件夹下所有文件_Python3.4.3重命名当前文件夹下的文件
import os import os.path #指明被遍历的文件夹 rootdir = './' #三个参数:分别返回1.父目录 2.所有文件夹名字(不含路径) 3.所有文件名字 for pare ...
- python 删除指定后缀文件_python3 遍历删除特定后缀名文件的方法_天津SEO
天津SEO U盘中毒了,U盘内的每个文件夹内都多了一个.lnk文件,处女座又犯了,实在不能忍,就写了个脚本把所有的.lnk文件删除了. 多级目录递归删除 import os n = 0 for roo ...
- 8.文件操作及模块包
文件操作及模块包 文章目录 文件操作及模块包 1.文本文件和二进制文件 2.创建文件对象 open() 3.文本文件的写入 3.1基本的文件写入操作 3.2常用编码介绍 3.3.中文乱码问题 3.4 ...
- python逐行写入csv_python之模块csv之CSV文件的写入(按行写入)
# -*- coding: utf-8 -*- #python 27 #xiaodeng #CSV文件的写入(按行写入) import csv #csv文件,是一种常用的文本格式,用以存储表格数据,很 ...
- 文件路径和模块路径、nodemon工具
文件路径和模块路径: //在文件操作相对路径中,前面的 ./ 可以省略,但是 在模块标识路径中 ,前面的 ./ 不能省略.// ./-----表示相对于当前目录 /-------当前文件所属磁盘根目录 ...
最新文章
- 从 jQuery 到 VUE 技术栈
- C++类的Const数组的初始化
- ModuleNotFoundError: No module named 'oscar.app'
- python qq签到_Yii Framework 中文网每天签到 Python 脚本
- Android性能优化之内存篇
- mac的python怎么输入中文_无法在python IDE(Mac OS X)中输入unicode
- 简单循迹小车实验心得_简单循迹小车的制作
- 【新农合专题】新农合系统资料汇总贴(新增134个)
- 详解如何用爬虫工具批量采集阿里巴巴批发网商品数据
- 利用VCF文件构建系统发育树
- 惠普电脑怎么用access_惠普笔记本电脑怎么分区
- 数字图像处理及matlab实现第三版相关概念总结
- 第十一届蓝桥杯 ——数字三角形
- Poj 1655 【树的重心】
- python批量读取文件内容_Python从数据库读取大量数据批量写入文件的方法
- NSSCTF刷题wp——单表替换密码
- 什么品牌的护眼台灯比较好?护眼效果最好的台灯推荐
- springboot毕设项目教师绩效工资管理l1v8p(java+VUE+Mybatis+Maven+Mysql)
- ClearType修改win系统字体
- 修复 Elasticsearch 中损坏的索引