网站首页 > 技术文章 正文
一个项目从开发到完成需要的时间远远没有后期调试、修改BUG的时间长,而如何填埋我们自己挖的坑,就需要套完整健壮的日志系统。python自带的日志处理模块很不错,但是有些需求无法满足,于是决定根据从前辈实例,自己重写一个日志处理,逻辑和代码都很简单。
直接上代码:
log.py 日志文件
import os, time
import threading
log_dir = "/logdir/"
mutex = threading.Lock()
if not os.path.isdir(log_dir ):
os.system('mkdir -p %s' % log_dir )
# 定义日志函数
def send_log(level,message):
logdir = os.path.join(log_dir,level,time.strftime('%Y/%m/', ))
if not os.path.isdir(logdir):
os.system('mkdir -p %s' % logdir)
file_path = os.path.join(logdir,time.strftime('%d', ))
mutex.acquire()
f = open(file_path, 'a+')
f.write(time.asctime() + '\t' + str(message) + '\n')
f.close()
if os.path.getsize(file_path) >= 10485760:
os.rename(file_path,file_path+"_"+time.strftime("%Y%m%d%H%M%S"))
mutex.release()
下面是编辑器效果:
prodect.py项目文件
from log import send_log
try:# info日志
send_log("info","用户登录成功")
except:
pass
try:# error日志
send_log("error","用户登录成功")
except:
pass
总结
在log.py文件中,定义了日志文件夹的路径,如果发生日志,会在文件中创建如下的树形结构:
如果日志文件超过10M会将日志重新命名,之后重新生成新的日志文件,这样能保证日志不会因为太大导致的打开困难,mutex 线程锁保证日志输出。
在prodect.py文件中调用send_log函数,调用时传递两个参数,一个是日志级别,一个是日志内容,try:except保证日志系统错误不会影响正常项目访问。
日志在生成过程中会根据日志的级别进行目录归类,保证后续方便的查找日志。
找日志可以直接定位到想要去的日子,找到想要看到的日志。
谢谢大家,欢迎订阅我的头条号。
猜你喜欢
- 2025-01-21 [819]ScalersTalk成长会Python小组第10周学习训练日志
- 2025-01-21 使用Python操作Jenkins(创建,构建,获取Job日志和报告)
- 2025-01-21 「python小脚本」监听日志文件异常数据发送告警短信
- 2025-01-21 告别千篇一律,Python打印彩色日志的方法!
- 2025-01-21 用Python写一个MacOS的系统通知
- 2025-01-21 Python 自制日志装饰器
- 2025-01-21 Python如何在日志中隐藏明文密码
- 2025-01-21 Kubernetes日志采集ELK|收集Python项目日志并展示
- 2025-01-21 Python接口自动化核心模块 - 数据库操作和日志
- 2025-01-21 python模块之 loguru 日志模块
- 05-25Python 3.14 t-string 要来了,它与 f-string 有何不同?
- 05-25Python基础元素语法总结
- 05-25Python中的变量是什么东西?
- 05-25新手常见的python报错及解决方案
- 05-2511-Python变量
- 05-2510个每个人都是需要知道Python问题
- 05-25Python编程:轻松掌握函数定义、类型及其参数传递方式
- 05-25Python基础语法
- 257℃Python短文,Python中的嵌套条件语句(六)
- 257℃python笔记:for循环嵌套。end=""的作用,图形打印
- 256℃PythonNet:实现Python与.Net代码相互调用!
- 251℃Python操作Sqlserver数据库(多库同时异步执行:增删改查)
- 251℃Python实现字符串小写转大写并写入文件
- 106℃原来2025是完美的平方年,一起探索六种平方的算吧
- 91℃Python 和 JavaScript 终于联姻了!PythonMonkey 要火?
- 81℃Ollama v0.4.5-v0.4.7 更新集合:Ollama Python 库改进、新模型支持
- 最近发表
- 标签列表
-
- python中类 (31)
- python 迭代 (34)
- python 小写 (35)
- python怎么输出 (33)
- python 日志 (35)
- python语音 (31)
- python 工程师 (34)
- python3 安装 (31)
- python音乐 (31)
- 安卓 python (32)
- python 小游戏 (32)
- python 安卓 (31)
- python聚类 (34)
- python向量 (31)
- python大全 (31)
- python次方 (33)
- python桌面 (32)
- python总结 (34)
- python浏览器 (32)
- python 请求 (32)
- python 前端 (32)
- python验证码 (33)
- python 题目 (32)
- python 文件写 (33)
- python中的用法 (32)