Python(logging.getLogger().info())

news/2024/11/6 10:58:18/文章来源:https://www.cnblogs.com/keye/p/18529514

目录
  • 1. getLogger()函数
  • 2. info()方法
  • 3. 配置日志级别
  • 4. 示例代码
  • 5. 其他日志级别方法
  • 6. 使用场景



logging.getLogger().info() 是 Python 的 logging 模块中用于记录信息级别(info level)日志的函数。

logging 是一个 Python 内置模块,提供了日志记录功能。它支持不同的日志级别,不同的输出方式(如控制台、文件等),并可以配置输出格式、时间戳等信息。



1. getLogger()函数

logging.getLogger(name=None) 用于获取一个 Logger 对象。每个 Logger 都有一个名称(name),可以用来区分不同的日志记录器。

getLogger() 函数接受一个可选参数 name

  • 如果 name 参数不提供或设置为 None,则返回根记录器(root logger)。
  • 如果提供 name 参数,则返回一个具有指定名称的记录器(这通常用于在同一个应用中创建多个记录器)。


2. info()方法

info()Logger 对象的一个方法,用于记录“信息”级别的日志。日志的等级从低到高为:DEBUGINFOWARNINGERRORCRITICAL

  • info()方法适用于记录一般性信息,例如程序的状态或过程记录,而不是调试信息或错误。


3. 配置日志级别

logging.basicConfig(level=logging.INFO) 可以设置日志的默认级别。通过将日志级别设置为 INFO,可以确保 info() 方法的日志内容会被输出。低于 INFO 的级别(如 DEBUG)则不会被记录。



4. 示例代码

import logging# 配置日志输出格式和级别
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')# 获取日志记录器对象
logger = logging.getLogger(__name__)# 使用 info() 记录信息级别的日志
logger.info("This is an info message.")
  • logging.basicConfig(...) 配置日志格式和级别。
  • getLogger(__name__) 获取一个以模块名为名称的记录器。
  • logger.info("This is an info message.") 将日志内容记录下来,包括时间、日志级别和信息内容。


5. 其他日志级别方法

除了 info()Logger 对象还有其他方法可用于不同的日志级别:

  • debug() - 记录调试信息
  • warning() - 记录警告信息
  • error() - 记录错误信息
  • critical() - 记录严重错误信息


6. 使用场景

  • 程序流程记录:可以用 info() 记录程序的执行状态或处理进度。
  • 数据处理:记录每一步的数据处理情况,方便追踪过程。
  • 服务运行状态:在服务器端代码中记录服务的正常运行日志,以便于查看日志历史。

通过 logging.getLogger().info() 函数,可以在程序中添加清晰、结构化的日志记录,帮助调试和分析程序运行状态。



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/827542.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在vite里面,使用linaria,css样式名混淆的问题

我们项目使用css in js来实现样式,借用了一个插件linaria。但是有一个问题,就是样式名会被混淆如下解决方法是,vite配置里面加一个 就可以了,结果如下

刚毕业,去做边缘业务,还有救吗?

有一些同时拿到了多个 Offer 的同学,会纠结于如何选择。其中有一些比较共性的问题,比如 “刚毕业,去做边缘业务,会不会影响后面的人生呢?”大家好,我是程序员鱼皮。今年的秋招已经接近尾声,我陆续收到了很多小伙伴们的 Offer 报喜。有一些同时拿到了多个 Offer 的同学,…

符合ISO26262的零部件级的软件测试解决方案

引言在功能安全的开发、测试过程中概念阶段的活动一般都是由主机厂负责,而从系统开发到单元实现则是由供应商负责,对于供应商所做的一系列测试通常称为零部件级测试。根据ISO 26262功能安全标准的划分,功能安全在零部件阶段的测试包括:软件单元测试、软件集成测试、硬件集成…

惊呆:where 1=1 可能严重影响性能,差了10多倍,快去排查你的 sql

文章很长,且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录 博客园版 为您奉上珍贵的学习资源 : 免费赠送 :《尼恩Java面试宝典》 持续更新+ 史上最全 + 面试必备 2000页+ 面试必备 + 大厂必备 +涨薪必备 免费赠送 :《尼恩技术圣经+高并发系列PDF》 ,帮你 实现技术自由,…

鸿蒙项目实战(二):实现动态栅格布局

需求: 动态设置栅格布局子元素实现如下: 一、定义一个类,定义所有的子元素数据// 首页业务按钮可选项集合 export class HomeBussinessConfig{// 供选择的所有tab集合// 只读 静态static readonly buttons = [{title:功能一,icon:$r(app.media.icon_home_sale),},{title:功能…

Dynaseal-面向未来端侧llm agent的llm api key分发机制

为什么要有这个项目 试想一下,在未来 llm agent 在端侧全面铺开,但是目前调用大模型的方式通过了是一个拿到了就可以随便使用的 api-key?那用户岂不是从端侧的模型拿到了 api-key 就可以刷爆你的账单?!!!如果每个人的手机都跑着几个 agent,你还有一堆用户,那你服务器岂…

使用SeaTunnel从InfluxDB同步数据到Doris

本文介绍了如何使用SeaTunnel将数据从InfluxDB同步到Doris。通过SeaTunnel强大的数据集成功能,用户可以高效地将存储于InfluxDB中的时间序列数据传输至Doris,便于数据的访问与分析。版本信息: SeaTunnel 2.3.3 InfluxDB 2.7.6 Doris 2.1.3 rc09准备事项 SeaTunnel2.3.3的安装…

CMU_15445_P2_Extendible_Hash_Table

到Project2, 我们依然在处理数据库存储相关的部分, 从 Project1 中我们应该Get到两个概念:数据库底层数据操作的基本单元是 Page. buffer_pool_manager 是管理以及组织数据单元Page的工具, 在Project2的第一部分, 我们还新增了页面守护(PageGuard)的机制更加优雅的获取以及释放…

关于pacman更新时出现error: GPGME error: No data 解决方法

问题复现 基本上我隔一段时间就会出现这个问题,每一次都是在网络上寻找相关命令来解决,但是却不明白为什么会出现这个问题。 问题大概是这样的但是有一位博主详细的帮忙解答了问题,大概的意思是指:pacman 在更新数据库文件时会尝试下载每个仓库的 .db.sig 文件,这是数据库…

Zabbix7.0教程:新增Browser监控项

1 前言 Zabbix 7.0.0版本之后,增加了“Browser”监控项类型,即浏览器监控,能够使用浏览器监控复杂的网站和web应用。 浏览器监控项允许执行用户定义的JavaScript代码来模拟与浏览器相关的操作,例如点击、输入文本、网页导航等。该监控项通过HTTP/HTTPS收集数据,并部分…

ABB机器人维修示教器线缆常见的故障现象

在工业自动化领域,ABB机械手是一款广泛应用的设备,其示教器线缆的正常运行对于机械手的稳定工作至关重要。然而,在实际使用过程中,示教器线缆可能会出现各种故障,影响机械手的正常操作。本文将介绍ABB机器人示教器线缆常见的故障现象及相应的ABB机器人维修解决方案。 一、…

[GXYCTF2019]Ping Ping Ping 1 - Xxiaoma解题

打开后,发现显示一个 /?ip= 我们直接在url里添加/?ip=127.0.0.1,发现有回显,这时候就可以用分号;来进行命令链接执行了。 输入url/?ip=127.0.0.1;ls 回显出来两个php文件!直接构造payload:/?ip=127.0.0.1;cat /flag.php才发现没那么简单,回显过滤了空格,可以使用$IFS…