使用mpy的logging模组记录日志

1.前言

为了记录程序运行过程中的信息,便想着找一个能记录日志文件的模组,在cPython中常用的日志记录模组是logging,但是mpy不一定有,便去mpy官方模组托管库(https://github.com/micropython/micropython-lib.git)查了下,发现已经有了,位于python-stdlib\logging目录中,但是查看源码以及例子发现功能很简单,没有文件记录功能。只好自己手动完善一下了。参考了cPython的logging使用方法,将日志记录相关简单实现了下,可以兼容。

2.安装使用

我整理好的logging模组已经上传到了我的gitee仓库:https://gitee.com/l_y_r/mpy_lib.git
下载下来将其中的logging.py上传到你的linux设备中,并仿照example_logging.py使用

  1. 简单使用
    import logging
    logging.debug('debug message')
    logging.info('info message')
    logging.warning('warn message')
    logging.error('error message')
    logging.critical('critical message')
    
  2. 记录到文件
    import logging
    logging.basicConfig(level=logging.DEBUG,filename='/logger.log', format='%(asctime)s :  %(message)s')
    logging.debug('debug message should go to the log file')
    logging.info('info message should go to the log file')
    logging.warning('warn message should go to the log file')
    logging.error('error message should go to the log file')
    logging.critical('critical message should go to the log file')
    
  3. 记录到文件同时打印到标准输出
    import logging
    logger=logging.getLogger()
    
    fh = logging.FileHandler('/logger.log')
    formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
    fh.setFormatter(formatter)
    logger.setLevel(level = logging.DEBUG)
    logger.addHandler(fh)
    
    logger.debug('debug message')
    logger.info('info message')
    

3.log记录的一些配置

3.1Formatter 格式化器

用来控制打印的格式,常用的格式关键字如下:

  • asctime: 记录时间
  • name: 记录者,初始化getLogger([name])时传入,默认为root
  • levelname: 日志级别,(debug, info, waring, error, critical)
  • message: 记录的信息

格式关键字使用%()s的形式引用,例如format='%(asctime)s : %(message)s'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值