在 micropython
上做logging不是一件容易的事情, micropython
有很多尚未完成的接口, 因此能记录到的日志内容非常有限, 我根据 micropython
的情况设计了这个 ulogger
的库.
在 micropython
中, 由于单片机的计算能力有限, 一切事情都需要快速地被处理和响应, 因此本模块设计的目的就是减少无所谓的操作. 因此本模块会和 CPython
的标准库 logging
有很大的不同.
pypi
安装#repl on your board import upip upip.install("micropython-ulogger")
请在本项目的 release 中下载一个最新版的.mpy
文件, 将其放到开发板的 /lib
目录中或您程序的目录中.
注意: 推荐使用 .mpy
的文件, 这是针对 micropython
已经事先编译好的文件, 可以有效提高执行速度和内存开销.
这是一个最简单的例子:
import ulogger loggor = ulogger.Loggor(__name__) loggor.info("hello world")
在上面的例子中, 一切将会使用默认的参数(级别为INFO, 输出到终端中.)
现在. 我们来给他加点料
import ulogger handler_to_term = ulogger.Handler( level=ulogger.INFO, colorful=True, fmt="&(time)% - &(level)% - &(name)% - &(fnname)% - &(msg)%", clock=None, direction=ulogger.TO_TERM, ) handler_to_file = ulogger.Handler( level=ulogger.INFO, fmt="&(time)% - &(level)% - &(name)% - &(fnname)% - &(msg)%", clock=None, direction=ulogger.TO_FILE, file_name="logging.log", max_file_size=1024 # max for 1k ) logger = ulogger.Logger( name = __name__, handlers = ( handler_to_term, handler_to_file ) ) logger.info("hello", "world") # 支持多参数填入
在 ulogger
中, 有一点与 CPython
的 logging
模块不一样: 在 logging
模块中, formatter
和 handler
是分开的, 但是在本模块中, 我将两者合为一体, 这可以减少日志模块的工作量(你肯定不希望你的开发板花费太多时间在记录日志吧!), 当然这会减少可配置性, 但是我们总是要为了提高性能付出一点代价.
详细信息请查看GitHub主页
详细信息请查看GitHub主页
详细信息请查看GitHub主页
详细信息请查看GitHub主页