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__ 会作为日志的名称(通常是模块名)。

可设置级别:

相关推荐
Dust-Chasing5 小时前
Claude Code源码剖析 - ShellTool与真实动作
人工智能·python·ai
catchadmin5 小时前
PHP 在领域驱动(DDD)设计中的核心实践
开发语言·php
仙俊红5 小时前
Java JUC:CompletableFuture 详解,多个任务并行执行并等待全部完成
java·python·spring
学习3人组5 小时前
Python 评论朴素贝叶斯文本情感分析示例
人工智能·python·机器学习
用户337922545685 小时前
A2A Python SDK 源码架构解读:一个请求是如何被处理的
python
2401_885665195 小时前
从零搭建卷积神经网络:基于PyTorch实现MNIST手写数字分类
pytorch·python·神经网络·算法·机器学习·分类·cnn
SilentSamsara5 小时前
MLflow 实验追踪与模型注册:从实验到生产的可复现工作流
开发语言·人工智能·pytorch·python·青少年编程
曲幽5 小时前
写爬虫时用了代理还被封?Python 代理的那些隐藏坑,我替你踩明白了
python·http·https·proxy·socks·requests·socks5·proxies
装不满的克莱因瓶5 小时前
掌握多头自注意力机制(Multi-Head Self-Attention)——Transformer 强大表达能力的核心来源
人工智能·python·深度学习·数学·ai·transformer
dongf20195 小时前
R语言朴素贝叶斯算法---iris数据集
开发语言·算法·数据分析·r语言