Python工程笔记(1):轨迹与日志
轨迹记录模块(Recorder)
轨迹和日志是定位工程问题的备忘录和总结代码开发项目管理经验的基本素材,是工程交验收资料的重要组成部分
1.1 依赖表
包名 | 含义 | 安装方式 |
---|---|---|
系统包 | ||
os | ||
time |
1.2 全局变量表
变量名 | 含义 | 初值 |
---|---|---|
log_file | 日志保存路径 | ./recorder.txt |
1.3 函数
1.4 类
类: | Recorder | |
---|---|---|
实例化方式 | 不需要入参 | |
属性 | 含义 | 初值 |
方法 | 主要功能 | |
类方法 | 主要功能 | |
record | 自定义消息,轨迹记录 |
1.5 代码与测试用例
# recorder.py
import os
import timelog_file = "./recorder.txt"class Recorder:@classmethoddef record(cls, message: str):global log_fileif not os.path.exists(log_file):with open(log_file, "wt", encoding="gbk") as file:file.write("[{}]: {}\n".format(time.asctime(), message))else:with open(log_file, "at", encoding="gbk") as file:file.write("[{}]: {}\n".format(time.asctime(), message))if __name__ == "__main__":Recorder.record("测试脚本")A = "China No."B = 1Recorder.record("{}{}".format(A, B))
日志分级打印(PrintLog)
1.1 依赖表
包名 | 含义 | 安装方式 |
---|---|---|
系统包 | ||
os | ||
time |
1.2 全局变量表
变量名 | 含义 | 初值 |
---|---|---|
DEBUG | debug开关 | True |
CODE_LOG_FILE | 日志保存路径 | ./log.txt |
1.3 函数
函数名 | 含义 | 是否接口 |
---|---|---|
LOG_TO_FILE | 日志核心输出函数 | 否 |
DEBUG_LOG | debug打印 | 是 |
ERROR_LOG | 错误打印 | 是 |
WARN_LOG | 告警打印 | 是 |
INFO_LOG | 通知打印 | 是 |
# logger.py
import os
import time
DEBUG = True
CODE_LOG_FILE = "log.txt"# 日志保存至文件def LOG_TO_FILE(log_info: str, log_level: str, debug_flag=False):global CODE_LOG_FILEif not os.path.exists(CODE_LOG_FILE):with open(CODE_LOG_FILE, "wt", encoding="gbk") as file:file.write("[{} | {:>5}]: {}\n".format(time.asctime(), log_level, log_info))else:with open(CODE_LOG_FILE, "at", encoding="gbk") as file:file.write("[{} | {:>5}]: {}\n".format(time.asctime(), log_level, log_info))if debug_flag:print("[{}] {}".format(log_level, log_info))# 日志是否在终端显示
def DEBUG_LOG(log_info: str):LOG_TO_FILE(log_info, "DEBUG", DEBUG)def ERROR_LOG(log_info: str, log_flag=False):LOG_TO_FILE(log_info, "ERROR", log_flag)def WARN_LOG(log_info: str, log_flag=False):LOG_TO_FILE(log_info, "WARN", log_flag)def INFO_LOG(log_info: str, log_flag=False):LOG_TO_FILE(log_info, "INFO", log_flag)if __name__ == "__main__":DEBUG = FalseDEBUG_LOG("关闭的日志")DEBUG = TrueDEBUG_LOG("开启的日志")ERROR_LOG("错误的打印")INFO_LOG("正确的打印")WARN_LOG("告警的打印")
觉得有帮助就点个赞吧。
Python工程笔记(1):轨迹与日志相关推荐
- Python学习笔记:Day11 编写日志创建页
前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...
- Python学习笔记:Day 12 编写日志列表页
前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此, 写下这些 ...
- Python学习笔记:Day 16 编写移动App
前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...
- Python学习笔记:Day15 部署Web App
前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...
- Python学习笔记:Day14 完成Web App
前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...
- Python学习笔记:Day13 提升开发效率
前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...
- Python学习笔记18:实操案例十五(记录用户登录日志,模拟淘宝客服自动回复)
Python学习笔记18:实操案例十五(记录用户登录日志,模拟淘宝客服自动回复) 网课传送门:https://www.bilibili.com/video/BV1Sw411Z779?p=168& ...
- python学习笔记(二十八)日志模块
我们在写程序的时候经常会打一些日志来帮助我们查找问题,这次学习一下logging模块,在python里面如何操作日志. 介绍一下logging模块,logging模块就是python里面用来操作日志的 ...
- python MOOC 笔记
Python MOOC 笔记 文章目录 Python MOOC 笔记 @[toc] 博客说明 课程定位与绪论 第一章--python的基本语法元素 1.程序设计基本方法 2.python开发环境配置 ...
最新文章
- CVPR2020检测类论文最全汇总:136篇论文方向细分(附代码和论文打包下载)
- android屏幕分享软件,ScreenStream(屏幕分享)
- 【区块链】Truffle 部署 编译 测试 智能合约 的 完整实践操作
- GDCM:对dicom文件的简单Scanner的测试程序
- Qt模态界面设置setWindowModality禁止其他界面响应
- powershell 遍历json_如何从Powershell脚本读取JSON数据并遍历它
- 统计天数(洛谷-P1567)
- PHP 接收 UDP包_UDP详解(广播,组播)(转)
- R-CNN 物体检测第一弹
- 【LeetCode】【HOT】23. 合并K个升序链表(递归+分治)
- 张朝阳:未来文娱重点将拍更多网剧 发展UGC、短视频社交和直播社交
- 推荐一个 Java 接口快速开发框架,超级nice!
- json和python中字典的区别和联系_python中字典和json的区别
- NSString属性什么时候用copy,什么时候用strong?【转】
- 12.万无一失:网站的高可用架构
- odis工程师使用教程_大众奥迪工程师软件ODIS-E车型代码说明大全完整版
- 为什么模板不支持分离编译
- 微信小游戏上线发布全流程详解
- python 估值模型_基于Python的客户价值细分模型(RFM)
- android去掉最上面的app名字(标题栏,抬头)
热门文章
- Linus 本尊来了!为什么 KubeCon 越来越火?
- Flink 零基础实战教程:如何计算实时热门商品
- 如何交付机器学习项目:一份机器学习工程开发流程指南
- 这个冬天,头秃了,口袋也空了......
- 云原生时代,阿里云联手博睿数据让IT运维可观测更智能
- Hadoop精华问答 | 关于Hadoop核心技术的精华问答
- php curlopt_postfields,PHP的CURLOPT_POSTFIELDS参数使用数组和字符串的区别 - CSDN博客
- 珠海小学计算机比赛,欢聚一堂 共叙佳话 —— 参加珠海市中小学信息技术工作年会纪要...
- nacos 开启权限验证后 报错状态 403
- Windows版nacos启动报错(nacos安装路径问题)