logging模块用法

news/2025/10/15 13:03:57/文章来源:https://www.cnblogs.com/liangyongwang/p/19143086

一、logging 模块的作用

logging 的核心功能是:

在程序运行过程中,输出并记录各种级别的日志(调试信息、警告、错误、关键事件等)。

相比 print(),它的优势:

特点

print()

logging

输出级别控制

支持 DEBUG/INFO/WARNING/ERROR/CRITICAL

输出到文件

不行

可以写入文件、控制台、网络、Syslog

可格式化输出

简单

自定义时间、模块、行号等格式

生产环境适用

不适合

广泛用于企业级系统日志、运维脚本


二、基础用法

示例 1:最简单的日志输出

import logging

logging.basicConfig(level=logging.INFO)
logging.info("启动程序")
logging.warning("磁盘空间不足")
logging.error("无法连接数据库")

输出:

INFO:root:启动程序
WARNING:root:磁盘空间不足
ERROR:root:无法连接数据库

三、日志级别(Level)

logging 内置 5 个常用日志等级(从低到高):

级别名

常量

用途

DEBUG

10

调试信息(开发阶段)

INFO

20

一般运行信息(系统状态、启动完成)

WARNING

30

警告(潜在问题、不影响运行)

ERROR

40

错误(程序异常、功能失败)

CRITICAL

50

严重错误(系统崩溃)

在设置 basicConfig(level=logging.INFO) 时,
表示 只输出 INFO 及以上等级的日志


四、输出格式控制

使用 format 参数定义日志格式:

logging.basicConfig(level=logging.INFO,format="[%(levelname)s] %(asctime)s - %(filename)s:%(lineno)d - %(message)s"
)

输出示例:

[INFO] 2025-10-15 11:48:23,001 - my_script.py:42 - 启动 Docker 容器成功

常用格式化变量:

变量

含义

%(asctime)s

时间

%(levelname)s

日志级别

%(filename)s

文件名

%(lineno)d

行号

%(message)s

日志内容

%(name)s

Logger 名称


五、输出到文件

logging.basicConfig(level=logging.INFO,filename='/var/log/python_docker.log',filemode='a',   # 追加模式format='%(asctime)s [%(levelname)s] %(message)s'
)

logging.info("程序启动")
logging.error("Docker 启动失败")

输出到 /var/log/python_docker.log 文件中。


六、高级用法:多 Handler 输出

你可以同时输出到控制台和文件:

import logging

1️创建 Logger

logger = logging.getLogger("docker_manager")
logger.setLevel(logging.INFO)

2️创建 Handler(控制台 + 文件)

console_handler = logging.StreamHandler()
file_handler = logging.FileHandler("/tmp/docker_manager.log")

3️定义输出格式

formatter = logging.Formatter(
"%(asctime)s [%(levelname)s] %(name)s:%(lineno)d - %(message)s"
)
console_handler.setFormatter(formatter)
file_handler.setFormatter(formatter)

4️添加 Handler

logger.addHandler(console_handler)
logger.addHandler(file_handler)

5️使用日志

logger.info("容器启动成功")
logger.warning("镜像不存在,将尝试重新加载")

输出结果:

  • 控制台打印日志
  • 同时 /tmp/docker_manager.log 也保存日志内容

七、在实际项目中用法(比如你的 PythonDocker

import logging
from docker import from_env
from packaging.version import Version

logging.basicConfig(
level=logging.INFO,
format="[%(asctime)s] [%(levelname)s] %(message)s"
)

class PythonDocker:
client = from_env()

@classmethod
def check_version(cls):version = cls.client.version()['Components'][0]['Version']if Version(version) &lt; Version("19.03"):logging.error(f"Docker 版本太低:{version},请升级到 &ge; 19.03")else:logging.info(f"Docker 版本检测通过:{version}")</code></pre>

运行时日志:

[2025-10-15 11:58:10] [INFO] Docker 版本检测通过:20.10.23

八、实战总结表

功能

用法示例

输出日志

logging.info("启动成功")

级别设置

logging.basicConfig(level=logging.DEBUG)

输出格式

format="%(asctime)s [%(levelname)s] %(message)s"

输出到文件

filename="/var/log/app.log"

同时输出到控制台与文件

Handler

动态调整级别

logger.setLevel(logging.WARNING)

自定义日志对象

logger = logging.getLogger("app")

 

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

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

相关文章

软件服务行业,被玩坏了的阿米巴

阿米巴” 本是生物学概念,指可向任意方向伸出伪足、形体随环境变化的变形虫,其核心特性是随外界的变化进行自我调整以适配生存需求。这一 “适应性” 本质,也成为管理学借鉴的核心逻辑。在管理学领域,“阿米巴” 是…

详细介绍:MQTT数据集成

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

深入解析:WordPress提速指南:Memcached+Super Static Cache+CDN缓存网站内容

深入解析:WordPress提速指南:Memcached+Super Static Cache+CDN缓存网站内容2025-10-15 12:55 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow…

实用指南:WordPress提速指南:Memcached+Super Static Cache+CDN缓存网站内容

实用指南:WordPress提速指南:Memcached+Super Static Cache+CDN缓存网站内容pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-fa…

AI元人文中价值原语博弈系统的理论建构与实践意义探析

AI元人文中"价值原语博弈"系统的理论建构与实践意义探析 引言 当前人工智能正向通用智能迈进,在这一过程中存在一个显著矛盾:AI系统决策的"黑箱"特性与伦理困境中所需的决策透明度之间的冲突。传…

LGP3201 [HNOI 2009] 梦幻布丁 学习笔记

LGP3201 [HNOI 2009] 梦幻布丁 学习笔记 \(\texttt{Luogu Link}\) 前言 能启发你学会启发式合并的入门题。 题意简述 给定一个长 \(n\) 的序列 \(A\)。请完成 \(m\) 个操作,分为两种:1 x y:对于所有 \(a_i=x\) 的 \…

2025年石头纸设备/吹塑机厂家最新权威推荐榜:环保石头纸、碳酸钙石头纸、固废石头纸及挤出吹塑机、注射吹塑机、半导体清洗液瓶子吹塑机专业选购指南

2025年石头纸设备/吹塑机厂家最新权威推荐榜:环保石头纸、碳酸钙石头纸、固废石头纸及挤出吹塑机、注射吹塑机、半导体清洗液瓶子吹塑机专业选购指南行业背景与发展趋势石头纸技术作为环保材料领域的重要突破,近年来…

AI技术新突破:图像编辑与浏览器智能体

本期播客聚焦人工智能领域最新技术进展,包括Gemini 2.5图像编辑模型实现精准特征保留的图像修改,Claude AI浏览器代理在Chrome中的集成,以及多项开源模型发布与商业应用动态。技术动态某中心最新发布的Gemini 2.5图…

PWN手的成长之路-16-OGeek2019-babyrop

file:checksec: 32位+RELRO(重定位)+NX(数据执行保护,栈不可执行)查看main函数:查看 sub_80486BB 函数:查看 sub_804871F 函数:查看 sub_80487D0 函数:exp: from pwn import * #from LibcSearcher import …

2025年掘进机厂家最新权威推荐榜:隧道掘进机、煤矿掘进机、岩石掘进机、盾构掘进机,专业实力与高效施工口碑之选

2025年掘进机厂家最新权威推荐榜:隧道掘进机、煤矿掘进机、岩石掘进机、盾构掘进机,专业实力与高效施工口碑之选随着国家基础设施建设持续深化,掘进机行业迎来新一轮发展机遇。在铁路隧道、城市地铁、水利工程及矿山…

AI元人文:关于“价值原语博弈”的对话

AI元人文:关于“价值原语博弈”的对话 A: 我们之前畅谈的“AI元人文”构想,我越想越觉得,其中那个“价值原语博弈”的系统,是整个大厦的承重墙。但它也引出了一连串棘手的难题,我们得把它想透。 B: 完全同意。让…

完整教程:为什么Bootstrap 5 和 Ant Design的样式会冲突?

完整教程:为什么Bootstrap 5 和 Ant Design的样式会冲突?pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consol…

2025/10/15

P2502 用时:30min 枚举最小边,对于给定边集,两点之间的最大边权最小是最小生成树伤的边,直接 \(O(m^2\log n)\) 去做即可。 P6569 发现 \(f_{i,k}\) 就是点 \(i\) 走 \(k\) 步能到达的点的异或和。 于是对于点 \(1…

Java:代码块 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025年冷却塔厂家最新权威推荐榜单:工业冷却塔、闭式冷却塔、横流式冷却塔、逆流式冷却塔专业制造商精选

2025年冷却塔厂家最新权威推荐榜单:工业冷却塔、闭式冷却塔、横流式冷却塔、逆流式冷却塔专业制造商精选在工业制造、能源电力、数据中心等关键领域,冷却系统作为保障设备稳定运行的核心基础设施,其性能优劣直接关系…

确实有新名字!硬件工具确认Intel Panther Lake:3个系列12个版本

确实有新名字!硬件工具确认Intel Panther Lake:3个系列12个版本Posted on 2025-10-15 12:32 lzhdim 阅读(0) 评论(0) 收藏 举报Intel在前不久正式公布了Panther Lake处理器,CPU ID发布了最新版本的HWMonitor工…

2025年法兰保护套厂家最新推荐排行榜:管道法兰保护罩,不锈钢法兰保护套,耐腐蚀法兰保护套公司精选

2025年法兰保护套厂家最新推荐排行榜:管道法兰保护罩,不锈钢法兰保护套,耐腐蚀法兰保护套公司精选行业背景与发展趋势在现代化工业体系中,管道输送系统作为关键基础设施,其安全性和可靠性直接影响生产效率和环境保…

2025年扒胎机厂家最新权威推荐榜:液压无损扒胎机,全自动扒胎机,汽保扒胎机,轮胎扒胎机,汽车扒胎机,大轮胎扒胎机,无损扒胎机,辽南扒胎机,小车扒胎机,立式扒胎机专业选购指南

2025年扒胎机厂家最新权威推荐榜:液压无损扒胎机,全自动扒胎机,汽保扒胎机,轮胎扒胎机,汽车扒胎机,大轮胎扒胎机,无损扒胎机,辽南扒胎机,小车扒胎机,立式扒胎机专业选购指南行业背景与发展趋势随着汽车保有量…

2025年中国太阳能板品牌TOP10(排行榜):格局巨变

导读:2025年的光伏市场,技术迭代的速度远超想象。当行业的目光不再只聚焦于“产能”与“出货量”,而是更看重“价值创新”与“技术代差”时,排行榜迎来了一次令人惊喜的洗牌。今年,我们将为您呈现一个因评价体系变…

SFT/DPO/PPO/GRPO训练全解析 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …