您的位置:首页 >Debian Python日志记录怎么配置
发布于2026-04-21 阅读(0)
扫一扫,手机访问
在Debian环境下为Python应用配置日志记录,其实并不复杂。核心就是用好Python自带的logging模块。下面,咱们通过一个完整的配置示例,把日志级别、格式和输出位置这几个关键点,一次性讲清楚。

整个配置过程,可以概括为三个清晰的步骤:
创建脚本文件:首先,新建一个Python脚本,比如命名为log_example.py。
导入核心模块:在脚本开头,导入必不可少的logging模块。
进行基础配置:利用logging.basicConfig函数,一次性完成日志级别、格式和输出路径的设置。
具体怎么操作呢?来看下面这个“开箱即用”的脚本示例:
import logging
# 配置日志记录
logging.basicConfig(
level=logging.DEBUG, # 设置日志级别为DEBUG
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', # 设置日志格式
filename='app.log', # 设置日志文件路径
filemode='a' # 设置文件模式为追加模式
)
# 获取日志记录器
logger = logging.getLogger(__name__)
# 记录不同级别的日志
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')
上面代码中的几个配置项,是决定日志行为的关键:
level=logging.DEBUG:这设置了最低记录级别。设为DEBUG意味着从最详细的调试信息到最严重的错误信息,所有级别的日志都会被捕获。format='%(asctime)s - %(name)s - %(levelname)s - %(message)s':定义了日志的“样貌”。这个格式会依次输出时间戳、记录器名称、日志级别和具体的消息内容,结构清晰,便于排查。filename='app.log':指定了日志的“归宿”。所有日志都将被写入当前目录下的app.log文件中。filemode='a':决定了文件的写入方式。‘a’代表追加模式,每次运行脚本,新日志都会接在旧日志后面,不会覆盖历史记录。配置好之后,在终端里运行一下脚本,效果立竿见影:
python3 log_example.py
执行完毕,检查脚本所在目录,你会发现多了一个app.log文件。打开它,刚才代码中记录的所有级别的日志信息,都已经整整齐齐地躺在里面了。
对于更复杂的项目,把配置信息硬编码在脚本里可能不够灵活。这时,可以考虑使用独立的配置文件。Python的logging模块支持通过dictConfig或fileConfig来加载配置。
举个例子,用配置文件的方式可以这么操作:
logging.conf的文件,内容如下。它定义了记录器、处理器和格式器等组件:[loggers]
keys=root,exampleLogger
[handlers]
keys=fileHandler
[formatters]
keys=simpleFormatter
[logger_root]
level=DEBUG
handlers=fileHandler
[logger_exampleLogger]
level=DEBUG
handlers=fileHandler
qualname=exampleLogger
propagate=0
[handler_fileHandler]
class=FileHandler
level=DEBUG
formatter=simpleFormatter
args=('app.log', 'a')
[formatter_simpleFormatter]
format=%(asctime)s - %(name)s - %(levelname)s - %(message)s
datefmt=
import logging
import logging.config
# 加载配置文件
logging.config.fileConfig('logging.conf')
# 获取日志记录器
logger = logging.getLogger('exampleLogger')
# 记录不同级别的日志
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')
采用配置文件的方式,优势很明显:所有日志设置集中管理,与业务代码解耦。需要调整日志行为时,直接修改配置文件即可,无需触碰主程序代码,维护性和可读性都大大提升。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
9