要在 Ubuntu 系统上为 Python 程序搭建日志系统?可以直接使用内置的 logging 模块来轻松实现。下面介绍基础配置方法,操作简单,跟着步骤执行即可。

第一步:导入所需模块
先导入 logging 模块及其自带的 RotatingFileHandler——这个处理器可以自动管理日志文件大小,非常适合生产环境。
import logging
from logging.handlers import RotatingFileHandler
第二步:创建日志记录器并设定级别
实例化一个 Logger 对象,并配置日志级别。通常在开发阶段使用 DEBUG,生产环境可调整为 INFO 或更高。
logger = logging.getLogger("MyLogger")
logger.setLevel(logging.DEBUG)
第三步:配置文件处理器
这里采用 RotatingFileHandler——当日志文件达到指定大小(例如 10MB)时,系统会自动重命名并新建文件,同时保留一定数量的历史日志。backup_count 设为 5,表示最多保留 5 个备份文件,避免磁盘空间被撑满。
log_file = "myapp.log"
max_log_size = 10 * 1024 * 1024 # 10 MB
backup_count = 5
file_handler = RotatingFileHandler(log_file, maxBytes=max_log_size, backupCount=backup_count)
第四步:定制日志格式
将时间、记录器名称、日志级别和消息内容组合成一行,方便后续排查与分析。
log_format = "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
formatter = logging.Formatter(log_format)
file_handler.setFormatter(formatter)
第五步:将处理器绑定到记录器
logger.addHandler(file_handler)
第六步:开始记录日志
现在就可以使用 logger 输出不同级别的日志信息了,涵盖 debug 到 critical 所有场景。
logger.debug("This is a debug message")
logger.info("This is an info message")
logger.warning("This is a warning message")
logger.error("This is an error message")
logger.critical("This is a critical message")
把上述代码保存为一个 Python 文件(例如 myapp.py),运行后日志就会写入 myapp.log。当日志文件超过 10MB 时,系统会自动创建新文件,旧文件会按顺序保留最多 5 个。
这只是一个基础配置示例。实际项目中完全可以按需调整日志级别、文件名、文件大小限制等参数。关于 logging 模块的更多使用细节,建议查阅官方文档。
