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

可设置级别:

相关推荐
江南十四行15 小时前
并发编程(二)
java·开发语言
weixin_4713830315 小时前
统一缩放单位基础(px、em、rem)
开发语言·javascript·ecmascript
yqcoder15 小时前
数据劫持的双雄:深入解析 Object.defineProperty 与 Proxy
开发语言·前端·javascript
OzupeSir15 小时前
三门两羊问题 - 蒙提霍尔问题
python·概率论
晚霞的不甘15 小时前
CANN asnumpy 深度解析:NPU 原生 NumPy 的使用指南
人工智能·python·numpy
qingfeng1541515 小时前
企业微信 API 自动化开发指南:从消息回调到智能运营实战
java·开发语言·python·自动化·企业微信
Just Jump15 小时前
tornado高性能高并发API服务网关
python·tornado·高并发api服务
晚霞的不甘15 小时前
CANN-MoE模型推理加速实战
人工智能·分布式·python
小新同学^O^15 小时前
简单学习 --> LangChain
python·学习·langchain
麻雀飞吧15 小时前
期货历史行情与实时数据一体化:主流平台维护负担对照
python