当前位置:首页 > 物联网 > Freak嵌入式

摘要:

本文主要介绍了日志的定义和作用,以及Python内置日志处理的logging模块,同时简单说明了日志等级和logging模块的简易使用方法。

文档和代码获取:

本文档主要介绍如何使用 Python 进行面向对象编程,需要读者对 Python 语法和单片机开发具有基本了解。相比其他讲解 Python 面向对象编程的博客或书籍而言,本文档更加详细、侧重于嵌入式上位机应用,以上位机和下位机的常见串口数据收发、数据处理、动态图绘制等为应用实例,同时使用 Sourcetrail代码软件对代码进行可视化阅读便于读者理解。

正文

日志是记录系统中硬件、软件和系统问题的信息,同时还可以监视系统中发生的事件。用户可以通过它来检查错误发生的原因和程序运行历史记录。

在python3中,内置了logging模块,用于进行日志相关的处理。日志是一种可以追踪某些软件运行时所发生事件的方法。软件开发人员可以向他们的代码中调用日志记录相关的方法来表明发生了某些事情。通过log的分析,可以方便用户了解系统或软件、应用的运行情况,日志的作用可以简单总结为以下3点:

  • ①程序调试;

  • ②了解软件程序运行情况,是否正常;

  • ③软件程序运行故障分析与问题定位。

logging模块默认定义了以下几个日志等级用于区别时间严重性:

  • ①DEBUG | 最详细的日志信息,典型应用场景是问题诊断;

  • ②INFO | 信息详细程度仅次于DEBUG,通常只记录关键节点信息,用于确认一切都是按照我们预期的那样进行工作;

  • ③WARNING | 当某些不期望的事情发生时记录的信息(如,磁盘可用空间较低),但是此时应用程序还是正常运行的;

  • ④ERROR | 由于一个更严重的问题导致某些功能不能正常运行时记录的信息;

  • ⑤CRITICAL | 当发生严重错误,导致应用程序不能继续运行时记录的信息。

日志优先级:CRIRICAL>ERROR>WARNING>INFO>DEBUG,当日志级别设置为某个级别时,则低于该级别的日志将不输出。如日志级别设置为INFO,则DEBUG级别的日志将不输出。

这里,我们设置日志优先级为DEBUG 并使用logging.info方法输出调试信息。

此时调试信息从终端输出,也可以保存为log文件:

# 在配置下日志输出目标文件和日志格式LOG_FORMAT = "%(asctime)s - %(levelname)s - %(message)s"logging.basicConfig(filename='my.log', level=logging.DEBUG, format=LOG_FORMAT
)
本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
关闭