Practice makes perfect
文献集锦
如何理论创新?
管理学理论集锦
Python实际应用
聚类标准误与固定效应
巫师3:狂猎
Stata应用技巧
Python知识与技巧
双重差分法(DID)
创新文献阅读与摘要
计量经济学
Python绘图相关
日志(logging)系统详解
type
status
date
slug
summary
tags
category
icon
password
网址
作者
标签
文章链接
发布时间
来源
Python 的
logging 模块是一个强大而灵活的日志记录系统,是 Python 标准库的一部分。它提供了从简单到复杂的各种日志记录需求解决方案。日志系统基本概念
日志级别
Python 定义了 5 个标准日志级别(按严重程度递增):
级别 | 数值 | 使用场景 |
DEBUG | 10 | 详细信息,用于调试 |
INFO | 20 | 确认程序按预期运行 |
WARNING | 30 | 表明有意外情况发生或即将发生问题 |
ERROR | 40 | 由于更严重的问题,程序某些功能已不能正常执行 |
CRITICAL | 50 | 严重错误,程序本身可能无法继续运行 |
日志组件
Python 日志系统由 4 个主要组件组成:
- Logger:应用程序直接使用的接口
- Handler:决定日志发送到哪里(控制台、文件等)
- Filter:提供更精细的日志过滤
- Formatter:指定日志输出格式
基本使用方法
简单配置(basicConfig)
常用格式字符串
格式 | 描述 |
%(asctime)s | 人类可读的时间 |
%(created)f | 时间戳(time.time()返回值) |
%(filename)s | 文件名(path部分被去掉) |
%(funcName)s | 日志调用所在的函数名 |
%(levelname)s | 日志级别文本 |
%(levelno)s | 日志级别数字 |
%(lineno)d | 调用日志记录的行号 |
%(message)s | 日志消息 |
%(module)s | 模块名 |
%(name)s | logger名称 |
%(process)d | 进程ID |
%(thread)d | 线程ID |
基本设置
Python中配置日志记录系统的基本设置,主要用于定义日志信息的记录方式和输出位置。以下是逐行解析:
具体功能说明:
- 日志级别 (level=logging.INFO)
- 只记录INFO级别及以上的日志(DEBUG级别将被忽略)
- Python日志级别从低到高:DEBUG < INFO < WARNING < ERROR < CRITICAL
- 日志格式 (format)
%(asctime)s:时间戳(默认格式:2023-01-01 12:00:00,123)%(levelname)s:日志级别名称(如INFO/WARNING等)%(message)s:用户输出的日志内容- 示例输出:
2023-01-01 12:00:00,123 - INFO - 开始下载NASA数据
- 日志处理器 (handlers)
FileHandler:将日志写入文件- 文件名:nasa_download.log
- 使用UTF-8编码(支持中文等特殊字符)
StreamHandler:同时打印日志到控制台- 双重输出既方便实时调试,又保留持久化记录
- 典型应用场景
- 适合需要长期保存运行记录的任务(如数据下载)
- 控制台输出便于开发调试
- 文件日志可用于后续分析或错误排查
- 注意事项
- 首次调用
basicConfig后不能再修改配置 - 如果文件已存在,默认会追加写入(不会覆盖)
- 更复杂的场景建议使用
logger.getLogger()创建多日志器
Prev
Faker 库详细使用指南
Next
聚类标准误与固定效应的理解
Loading...