python工具之日志记录
1 ''' 2 写日志类 3 日志存放目录为当前应用程序的目录下的log目录中 4 日志产生规则:每小时产生一个文件 5 write by :wujf 6 2017-02-24 7 ''' 8 import sys 9 import os 10 import threading 11 import time 12 import traceback 13 14 mutex = threading.Lock() 15 # 标记是否为控制台输出 16 console = True 17 # console = False 18 19 20 class log: 21 def wirteFile(temp): 22 if mutex.acquire(): 23 # 这是里可以设置日志的文件生成规则 24 now = time.strftime( 25 '%Y%m%d%H', time.localtime(time.time())) + '.log' 26 path = os.path.join(sys.path[0], 'log') 27 if os.path.exists(path) == False: 28 os.mkdir(path) 29 filename = os.path.join(path, now) 30 fileHandle = open(filename, 'a', encoding='utf-8') 31 fileHandle.write(str(temp)) 32 fileHandle.close() 33 mutex.release() 34 35 # 写日志入口 36 def info(temp): 37 ''' 38 打印基本信息 39 ''' 40 now = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())) 41 temp = '====%s====\n%s\n' % (now, temp) 42 if console: 43 print(temp) 44 else: 45 threading.Thread(target=log.wirteFile, args=(temp,)).start() 46 # log.wirteFile(temp) 47 48 def error(ex): 49 ''' 50 打印异常信息 51 ''' 52 now = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())) 53 temp = '====%s====\n%s\n' % (now, traceback.format_exc()) 54 if console: 55 print(temp) 56 else: 57 threading.Thread(target=log.wirteFile, args=(temp,)).start() 58 # log.wirteFile(temp) 59 60 def recordPyInfo(): 61 ''' 62 记录执行的脚本信息 63 ''' 64 log.info(os.path.realpath(__file__))
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
2016-02-24 dapper关联关系查询小测试
2016-02-24 mysql空间数据相关操作