赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 日志服务
  4. 操作指南
  5. 数据采集
  6. 采集常见日志
  7. 采集Python日志

采集Python日志

  • 采集常见日志
  • 发布于 2025-04-22
  • 0 次阅读
文档编辑
文档编辑

本文介绍如何通过Logtail采集Python日志。

背景信息

Python的logging模块提供通用的日志系统,可供第三方模块或者应用使用。logging模块定义了不同的日志级别和记录日志的方式。logging模块包括logger、handler、filter、formatter四个组件。

采集Python日志,推荐您使用Log Handler,详细介绍如下所示。

  • 使用Log Handler自动上传Python日志

  • Log Handler自动解析KV格式的日志

  • Log Handler自动解析JSON格式的日志

在formatter中定义日志输出格式,采用%(key)s形式。 示例如下:

import logging  
import logging.handlers  
LOG_FILE = 'tst.log'  
handler = logging.handlers.RotatingFileHandler(LOG_FILE, maxBytes = 1024*1024, backupCount = 5) # 实例化handler   
fmt = '%(asctime)s - %(filename)s:%(lineno)s - %(levelno)s %(levelname)s %(pathname)s %(module)s %(funcName)s %(created)f %(thread)d %(threadName)s %(process)d %(name)s - %(message)s' //定义日志格式 
formatter = logging.Formatter(fmt)   # 实例化formatter。 
handler.setFormatter(formatter)      # 为handler添加formatter。
logger = logging.getLogger('tst')    # 获取名为tst的logger。  
logger.addHandler(handler)           # 为logger添加handler。 
logger.setLevel(logging.DEBUG)  
logger.info('first info message')  
logger.debug('first debug message')

具体字段说明如下所示。

字段

说明

%(name)s

生成日志的Logger名称。

%(levelno)s

数字形式的日志级别。

%(levelname)s

文本形式的日志级别,包括DEBUG、INFO、WARNING、ERROR和CRITICAL。

%(pathname)s

日志文件路径。

%(filename)s

日志文件名。

%(module)s

日志所在的模块名。

%(funcName)s

日志输出函数的名称。

%(lineno)d

日志输出函数的语句所在的代码行。

%(created)f

日志创建时间,UNIX时间戳格式。

%(relativeCreated)d

日志创建时间与logging模块被加载时间的时间差,单位为毫秒。

%(asctime)s

日志创建时间。例如2003-07-08 16:49:45,896,其中896表示毫秒数。

%(msecs)d

日志创建时间中的毫秒部分。

%(thread)d

线程ID。

%(threadName)s

线程名称。

%(process)d

进程ID。

%(message)s

日志信息。

操作步骤

日志服务提供配置向导,帮助您快速完成Logtail采集配置。本文以通过完整正则模式采集Python日志为例。

  1. 登录日志服务控制台。

  2. 在接入数据区域,选择正则-文本日志。
  3. 选择目标Project和Logstore,单击下一步。
  4. 创建机器组。

    • 如果您已有可用的机器组,请将该机器组添加到应用机器组。

    • 如果您还没有可用的机器组,请执行以下操作(以ECS为例)。

      1. 使用场景选择主机场景。

      2. 安装环境选择ECS。

      3. 选择机器组单击创建机器组。

      4. 在创建机器组面板中,选中目标ECS实例,单击安装并创建为机器组。

        具体操作,请参见安装Logtail(ECS实例)。

      5. 页面中Logtail安装情况提示成功,则表示安装成功。

      6. 在创建机器组面板,输入机器组名称,其他参数均可保持默认配置,然后单击确定。

        更多信息,请参见创建IP地址机器组。

  5. 确认目标机器组已在应用机器组区域,单击下一步。

    重要

    创建机器组后立刻应用,可能因为连接未生效,导致心跳为FAIL,您可单击自动重试。如果还未解决,请参见Logtail机器组无心跳进行排查。

  6. 在Logtail配置步骤中,创建Logtail配置。

    Logtail参数配置请参见Logtail配置。

  7. 预览数据及创建索引,然后单击下一步。索引的更多信息,请参见创建索引。

  8. 单击查询日志,系统将跳转至Logstore查询分析页面。

    您需要等待1分钟左右,待索引生效后,才能在原始日志页签中,查看已采集到的日志。更多信息,请参见查询和分析日志。

相关文章

采集Log4j日志 2025-04-22 11:00

使用Log4j2记录和管理Java应用的运行日志后,您可以使用Log4j2 Appender或Logtail将日志采集到日志服务,以便于后续的查询分析。 Log4j概述

采集Python日志 2025-04-22 11:00

本文介绍如何通过Logtail采集Python日志。 背景信息 Python的logging模块提供通用的日志系统,可供第三方模块或者应用使用。logging模块定义了不同的日志级别和记录

采集Node.js日志 2025-04-22 11:00

本文介绍如何使用Logtail采集Node.js日志。 背景信息 log4js是一个Node.js日志管理工具,您可以通过log4js把Node.js日志打印到文件中,并自定义日志格式,便于日志采集和整理。 log4js分为6个输出级

采集WordPress日志 2025-04-22 11:00

本文介绍使用Logtail采集WordPress日志的操作步骤。 背景信息 WordPress是一个以PHP和MySQL为平台的、自由开源的博客软件和内容管理系统,被广泛使用。WordPress日志样例如下所示。

采集Unity3D日志 2025-04-22 11:00

本文介绍如何通过Web Tracking采集Unity3D日志。 背景信息 Unity3D是由Unity Technologies开发的,一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号