单片机学习经常会遇到莫名其妙错误,别人的模块只有一个日志文件,满了自动清空就看不见前面的内容,非常不方便,就自己写了个。
不支持utf-8,utf-8会占用不少io性能,没有日志等级功能,等级在字符串里面自己定义,等需要了以后再添加
# 使用方法 复制代码保存文件改名logger_1,放入路径
import logger_1
log = Logger()
log.log('INFO. HELLO.')
# 输出到文件和控制台:
# 2022-10-6 16:55:44 INFO. HELLO.
支持ab文件方式,当a文件写满后,往b文件写,b满后,清空a,往a文件写

import time
class Logger:
def __init__(self):
self.max_file_size = 51200 # 单个文件最大50KB
self.file_name_a = "log_a.log" # a文件名称
self.file_name_b = "log_b.log" # b文件名称
f_a = open(self.file_name_a, 'a+')
f_a_tell = f_a.tell()
f_a.close()
f_b = open(self.file_name_b, 'a+')
f_b_tell = f_b.tell()
f_b.close()
if f_a_tell <= f_b_tell:
self.file_name = self.file_na

在单片机学习中,为解决日志文件满后丢失历史信息的问题,作者创建了一个简单的logging模块。该模块不支持utf-8以节省IO性能,并允许用户自定义日志级别。它采用AB文件切换方式,当A文件满后,自动转写到B文件,B文件满则清空A文件,继续写入。目前经过初步测试,等待用户实际应用反馈。
最低0.47元/天 解锁文章
17万+

被折叠的 条评论
为什么被折叠?



