micropython-ulogger
在 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, 输出到终端中.)
Handler的使用
现在. 我们来给他加点料
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主页