ubuntu

Ubuntu如何配置Python的日志系统

小樊
55
2025-08-21 18:00:24
栏目: 编程语言

在Ubuntu上配置Python日志系统主要有以下两种方式:

一、使用Python内置logging模块

1. 基础配置(推荐)

通过logging.basicConfig()快速配置,适合简单场景:

import logging

logging.basicConfig(
    level=logging.INFO,  # 日志级别
    format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',  # 日志格式
    filename='app.log',  # 日志文件路径
    filemode='a'  # 追加模式
)

logger = logging.getLogger(__name__)
logger.info('这是一条普通信息')  # 记录日志

2. 配置文件方式(灵活)

通过INI格式配置文件(如logging.conf)实现复杂需求:

3. 多处理器配置

可同时输出到控制台和文件,且设置不同日志级别:

import logging

# 创建日志记录器
logger = logging.getLogger()
logger.setLevel(logging.DEBUG)

# 控制台处理器
console_handler = logging.StreamHandler()
console_handler.setLevel(logging.INFO)
console_formatter = logging.Formatter('%(levelname)s - %(message)s')
console_handler.setFormatter(console_formatter)
logger.addHandler(console_handler)

# 文件处理器
file_handler = logging.FileHandler('app.log')
file_handler.setLevel(logging.DEBUG)
file_formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
file_handler.setFormatter(file_formatter)
logger.addHandler(file_handler)

logger.info('信息会同时输出到控制台和文件')
logger.debug('仅输出到文件')

二、结合系统工具管理日志

1. 使用logrotate轮转日志

避免日志文件过大,安装并配置logrotate

sudo apt update
sudo apt install logrotate

三、进阶方案(ELK Stack)

适合大规模日志分析,需安装Elasticsearch、Logstash、Kibana,配置略复杂,可参考官方文档。

注意事项

以上配置可根据项目需求选择,基础场景推荐basicConfig,复杂场景优先使用配置文件方式。

0
看了该问题的人还看了