Python 配置日志(Logging)

示例:

python 复制代码
import logging

class MyApp:
    def __init__(self):
        # 1. 配置日志(通常只在程序启动时配置一次)
        logging.basicConfig(
            level=logging.INFO,
            format='%(asctime)s - %(levelname)s - %(message)s'
        )
        # 2. 获取当前模块的 Logger
        self.logger = logging.getLogger(__name__)

    def run(self):
        self.logger.info("程序开始运行")
        
        try:
            # 模拟一些操作
            result = 10 / 2
            self.logger.info(f"计算结果是: {result}")
            
            # 模拟一个警告
            if result > 4:
                self.logger.warning("结果大于 4,请注意!")
                
        except Exception as e:
            self.logger.error(f"发生了一个错误: {e}")
            
        self.logger.info("程序结束运行")

# 启动程序
if __name__ == "__main__":
    app = MyApp()
    app.run()

说明:

代码片段 作用说明
logging.basicConfig(...) 全局配置日志的基本参数。
level=logging.INFO 设置日志的最低 输出级别。只有 INFO 级别及以上(如 WARNING, ERROR, CRITICAL)的日志才会被打印。
format='%(asctime)s - %(levelname)s - %(message)s' 定义日志的输出格式: - %(asctime)s: 时间戳 - %(levelname)s: 日志级别(如 INFO, ERROR) - %(message)s: 具体的日志内容
self.logger = logging.getLogger(__name__) 获取一个 Logger 实例。通常在类中使用,__name__ 会作为日志的名称(通常是模块名)。

可设置级别:

相关推荐
默_笙16 小时前
🍙 给每个请求过安检:FastAPI 是怎么把校验写进类型注解的
python
小羊没烦恼!16 小时前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
qq_4260039616 小时前
启动playwright录制codegen生成自动化测试脚本
python·自动化
虎头金猫16 小时前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
长沙三为智能科技17 小时前
家政小程序开发从0到上线:五阶段交付流程与验收清单
python
伞伞悦读17 小时前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
只睡四小时18 小时前
Canvas 弹道联机实战:700 行 + 固定时间步长
python·websocket·html5·游戏开发·canvas
C语言小火车18 小时前
C/C++ 为什么需要编译器?
开发语言·c++
奇思妙想聪明勤奋的小羊18 小时前
DeepAgents第5章:子Agent 与上下文隔离—让 Agent学会委派
人工智能·python·学习·语言模型
lpfasd12319 小时前
2026年第38周GitHub趋势周报
python·科技·github