Python中推荐使用logging模块记录日志,它支持不同级别(DEBUG、INFO、WARNING、ERROR、CRITICAL)的消息筛选,并可通过Handler输出到控制台或文件,结合Formatter设置格式;生产环境通常使用INFO或WARNING级别,避免日志过多;为防止日志文件过大,可用RotatingFileHandler按大小或TimedRotatingFileHandler按时间实现日志轮转。

Python中记录日志,最核心且官方推荐的方式是使用内置的
logging
print()
在Python里处理日志,我个人觉得,如果你还在大量用
print()
logging
最基本的用法,我们通常会先获取一个
logger
import logging
# 获取一个logger实例,通常我们会给它一个名字,比如当前模块的名字
logger = logging.getLogger(__name__)
logger.setLevel(logging.INFO) # 设置日志级别,低于此级别的日志不会被处理
# 创建一个处理器,比如输出到控制台
console_handler = logging.StreamHandler()
console_handler.setLevel(logging.INFO)
# 定义一个格式器,让日志输出得更漂亮、信息更全
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
console_handler.setFormatter(formatter)
# 将处理器添加到logger
logger.addHandler(console_handler)
# 记录一些日志
logger.debug('这是一条调试信息,通常在开发时用')
logger.info('程序启动了,这是个普通信息')
logger.warning('发现了一个潜在问题,需要注意')
logger.error('程序出错了!')
logger.critical('系统崩溃了,赶紧处理!')这段代码展示了
logging
立即学习“Python免费学习笔记(深入)”;
StreamHandler
FileHandler
你会发现,上面
logger.debug()
logger
console_handler
INFO
DEBUG < INFO < WARNING < ERROR < CRITICAL
Python的
logging
至于如何选择,我个人经验是,开发初期可以把日志级别设为
DEBUG
INFO
WARNING
INFO
WARNING
ERROR
CRITICAL
一个好的实践是,在代码中记录日志时,根据事件的性质来选择级别,而不是根据你当前调试的需求。比如,一个用户登录失败的事件,它本质上是个
WARNING
ERROR
DEBUG
将日志输出到文件是生产环境中几乎必备的操作,因为它能持久化地记录程序的运行轨迹,方便事后分析和故障排查。
logging
FileHandler
import logging
logger = logging.getLogger('file_logger')
logger.setLevel(logging.INFO)
# 创建一个FileHandler,将日志写入到指定文件
file_handler = logging.FileHandler('my_application.log', encoding='utf-8')
file_handler.setLevel(logging.INFO)
formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
file_handler.setFormatter(formatter)
logger.addHandler(file_handler)
logger.info('这条日志会写入到文件中。')
logger.error('程序遇到一个文件操作错误。')但这里有个问题,如果程序长时间运行,
my_application.log
logging
RotatingFileHandler
TimedRotatingFileHandler
RotatingFileHandler
以上就是Python中日志如何记录 Python中日志记录教程的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号