python基础——logging模块

Python日志模块详解
本文详细介绍了Python的logging模块,包括默认的日志等级、如何通过basicConfig配置日志等级、输出格式和文件路径,以及如何将日志信息输出到文件中。
logging模块默认是使用warning等级,所以在不指定等级的情况下只有warning及其以上才会在终端中打印
import logging 

logging.debug("aaa")
logging.info("bbb")
logging.warning("ccc")
logging.error("ddd")
logging.fatal("eee")

终端输出:
WARNING:root:ccc
ERROR:root:ddd
CRITICAL:root:eee

python提供了一个配置log文件的接口logging.basicConfig,可以自行设置需要输出的日志等级,basicConfig的参数介绍:
level:设置日志级别,默认是logging.WARNING
filename:指定日志输出的文件名
filemode:指定日志文件的写入模式,默认是"a",以追加的方式写入

format:指定输出的格式和内容,参数如下
asctime:打印日志输出时间
name:用于记录调用的日志程序的名称
filename:打印当前执行程序名
levelname:打印日志输出等级名称
message:打印日志输出内容

import logging 


# 自行指定日志等级为info
logging.basicConfig(level=logging.INFO, format="%(asctime)s - %(name)s - %(levelname)s - %(message)s")
logger = logging.getLogger(__name__)
logger.info("aaa")
logger.debug("bbb")  # 小于info等级的日志不会输出
logger.warning("ccc")

终端输出:
2020-02-14 12:07:09,314 - __main__ - INFO - aaa
2020-02-14 12:07:09,314 - __main__ - WARNING - ccc
把日志写入文件中
import logging

# 实例化一个logger
logger = logging.getLogger(__name__)
# 设置logger的等级
logger.setLevel(level=logging.INFO)  # 配置日志的最低等级,只有符合该等级的才会分配到handler
# 实例化一个句柄
handler = logging.FileHandler("log.txt")  # 日志文件路径
handler.setLevel(level=logging.INFO)  
# 实例化一个formatter
formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s")  # 输出到文件的格式
handler.Formatter(formatter)  # 设置内容格式模板
logger.addHandler(handler)  # 句柄添加

logger.info("start")
logger.debug("doing debug")
logger.warning("doing warning")
logger.error("finish")

输出:(debug不会输出)
2020-02-14 21:53:43,422 - __main__ - INFO - start
2020-02-14 21:53:43,422 - __main__ - WARNING - doing warning
2020-02-14 21:53:43,422 - __main__ - INFO - finish
本研究基于扩展卡尔曼滤波(EKF)方法,构建了一套用于航天器姿态与轨道协同控制的仿真系统。该系统采用参数化编程设计,具备清晰的逻辑结构和详细的代码注释,便于用户根据具体需求调整参数。所提供的案例数据可直接在MATLAB环境中运行,无需额外预处理步骤,适用于计算机科学、电子信息工程及数学等相关专业学生的课程设计、综合实践或毕业课题。 在航天工程实践中,精确的姿态与轨道控制是保障深空探测、卫星组网及空间设施建设等任务成功实施的基础。扩展卡尔曼滤波作为一种适用于非线性动态系统的状态估计算法,能够有效处理系统模型中的确定性与测量噪声,因此在航天器耦合控制领域具有重要应用价值。本研究实现的系统通过模块化设计,支持用户针对同航天器平台或任务场景进行灵活配置,例如卫星轨道维持、飞行器交会对接或地外天体定点着陆等控制问题。 为提升系统的易用性与教学适用性,代码中关键算法步骤均附有说明性注释,有助于用户理解滤波器的初始化、状态预测、观测更新等核心流程。同时,系统兼容多个MATLAB版本(包括2014a、2019b及2024b),可适应同的软件环境。通过实际操作该仿真系统,学生仅能够深化对航天动力学与控制理论的认识,还可培养工程编程能力与实际问题分析技能,为后续从事相关技术研究或工程开发奠定基础。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值