利用logbook模块管理日志

利用logbook模块管理日志LOG 日志信息记录 python 利用 logbook 模块管理日志日志管理作为软件项目的通用部分 无论是开发还是自动化测试过程中 都显得尤为重要 最初是打算利用 python 的 logging 模块来管理日志的 后来看了些 github 及其他人的自动化框架设计 做了个比对后 还是决定使用 logbook 这篇博客 介绍下 python 中的 logbook 模块的使用方法 仅供参考 一 下载安装 1 文件安装从官网下载 logbook 安装文件 然后安装即可 官网链接 https pypi org pro

python:利用logbook模块管理日志 日志管理作为软件项目的通用部分,无论是开发还是自动化测试过程中,都显得尤为重要。 最初是打算利用python的logging模块来管理日志的,后来看了些github及其他人的自动化框架设计,做了个比对后,还是决定使用logbook。 这篇博客,介绍下python中的logbook模块的使用方法,仅供参考。。。 一、下载安装 1、文件安装 从官网下载logbook安装文件,然后安装即可。 官网链接:https://pypi.org/project/Logbook/ 2、pip命令安装 进入CMD命令行,输入 pip install logbook 命令进行安装,安装成功后,输入 pip show logbook 命令 二、logbook简介 logbook的设计初衷,就是用来取代python的标准库日志模块:logging。具体内容可通过下方的链接查看官方文档说明: 官方文档:http://logbook.readthedocs.io/en/stable/index.html

 

三、用法说明

示例代码如下:log.py # coding=utf-8 import os import sys import logbook from logbook import Logger,StreamHandler,FileHandler,TimedRotatingFileHandler from logbook.more import ColorizedStderrHandler def log_type(record,handler): log = "[{date}] [{level}] [{filename}] [{func_name}] [{lineno}] {msg}".format( date = record.time, # 日志时间 level = record.level_name, # 日志等级 filename = os.path.split(record.filename)[-1], # 文件名 func_name = record.func_name, # 函数名 lineno = record.lineno, # 行号 msg = record.message # 日志内容 ) return log # 日志存放路径 LOG_DIR = os.path.join("Log") if not os.path.exists(LOG_DIR): os.makedirs(LOG_DIR) # 日志打印到屏幕 log_std = ColorizedStderrHandler(bubble=True) log_std.formatter = log_type # 日志打印到文件 log_file = TimedRotatingFileHandler( os.path.join(LOG_DIR, '%s.log' % 'log'),date_format='%Y-%m-%d', bubble=True, encoding='utf-8') log_file.formatter = log_type # 脚本日志 run_log = Logger("script_log") def init_logger(): logbook.set_datetime_format("local") run_log.handlers = [] run_log.handlers.append(log_file) run_log.handlers.append(log_std) # 实例化,默认调用 logger = init_logger() 代码解析: 1、定义日志文件类型,依次按照时间、日志等级、测试文件名、函数方法名、行数、具体的信息来展示; 日志等级: level describe critical 严重错误,会导致程序退出 error 可控范围内的错误 warning 警告信息 notice 大多情况下希望看到的记录 info 大多情况不希望看到的记录 debug 调试程序时详细输出的记录 2、定义日志存放路径为Log文件夹; 3、logbook的日志输出方式有2种:打印到屏幕(比较适合调试时候,正式使用时可以将其注释掉)和打印输出到日志文件; 4、定义日志输出; 5、实例化,方便其他模块调用; 可以通过测试代码来测试日志是否打印到了对应的路径,测试代码如下:test_log.py # coding=utf-8 import os from log import run_log as logger if __name__ == '__main__': logger.info("测试log模块,暂时就优化到这一步,后续再改进") 测试结果: 如上所示,即为logbook的基本使用方法,代码仅供参考,具体使用请自行实践。。。 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/229166.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月16日 下午5:19
下一篇 2026年3月16日 下午5:19


相关推荐

  • 走近webpack(3)–图片的处理[通俗易懂]

    上一章,咱们学了如何用webpack来打包css,压缩js等。这一篇文章咱们来学习一下如何用webpack来处理图片。废话不多说,咱们开始吧。首先,咱们随便找一张你喜欢的图片放到src/images

    2022年3月25日
    52
  • 圆周率1千亿位_圆周率十亿位

    圆周率1千亿位_圆周率十亿位展开全部3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651328230664709384460955058223172535940812848111745028410270193852…

    2025年11月8日
    5
  • JWPlayer 7的正确使用方法及Flash plugin failed to load解决方法

    JWPlayer 7的正确使用方法及Flash plugin failed to load解决方法一 JWPlayer 简介 JWPlayer 是当今最流行的开源 Flah 网页播放器 可播放 AdobeFlashPl 所支持的媒体 具体包括 FLV MP4 MP3 AAC JPG PNG 和 GIF 等 还支持 RTMP HTTP 实时视频流 各种播放清单格式 灵活的设置和广泛的 javascriptAP 此外它还提供多种外观 功能性插件来扩展播放器 以便我们可以分享 推荐 搜索 分析甚至

    2026年3月26日
    2
  • 《MySQL必知必会》阅读笔记(一)——查询「建议收藏」

    《MySQL必知必会》阅读笔记(一)——查询「建议收藏」《MySQL必知必会》阅读笔记(一)——查询

    2022年4月21日
    56
  • 深度学习图像数据自动标注[通俗易懂]

    深度学习图像数据自动标注[通俗易懂]Tensorflow和Caffe等深度学习中,监督学习的数据标注是一件非常繁琐和耗时的工作,目前大多数公司都采用外包给标注公司进行处理,或者购买现有的数据集,使得进行深度学习研究的成本异常高。本文介绍一种以人工智能解决数据标注的思路和方法。一、思路步骤:1、以一个初步模型对小批量待标注数据进行检测,这里的初步模型可以是自己用少批量数据集训练出来的,也可以用网上公布的;2、对检测出来的结果进行人为干预纠正;3、把纠正后的数据训练新的模型;4、用新模型对中等批量待测数据进行检测;…

    2022年6月15日
    113
  • mysql将字符转换成数字

    mysql将字符转换成数字在操作mysql时,经常需要将字符转换成数字,这一步虽然简单,但不常用的话也很容易忘记,现将在网上找到的方法记录如下:1.将字符的数字转成数字,比如’0’转成0可以直接用加法来实现例如:将pony表中的d进行排序,可d的定义为varchar,可以这样解决select*fromponyorderby(d+0)2.在进行ifnull处理时,比如ifnull(a/b,’0

    2022年5月29日
    51

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号