Python 日志
Python 是一种高级通用编程语言,其标准库内置日志模块。该模块提供了一个框架,用于为应用程序和库实现灵活的事件日志系统。使用 Python 日志模块支持的任意日志格式或自定义日志记录器将日志写入文件,然后将文件发送至 Site24x7 AppLogs 进行监控。
配置日志记录器
使用任意 Python 日志记录器记录日志。使用以下示例代码配置日志记录器,将日志事件记录到文件:
import logging
logging.basicConfig(filename=`<application_dir>/logs/<FILE_NAME>.log`, encoding='utf-8', level=logging.DEBUG)
logging.debug('Error message')
日志管理入门
- 登录您的 Site24x7 账户。
- 下载并安装 Site24x7 服务器监控代理(Windows | Linux)。
- 转到 Admin > AppLogs > Log Profile,然后单击添加日志配置文件。
- 配置文件名称:输入日志配置文件的名称。
- 选择日志类型:从下拉菜单中选择 Python 日志。
- 日志来源:从下拉菜单中选择本地文件。
- 要搜索日志的文件列表:添加日志记录器中配置的文件路径。
例如:<application_dir>/logs/<FILE_NAME>.log
- 选择服务器,然后单击保存。
日志示例与日志模式
您可以使用多日志模式支持添加与日志匹配的所需日志模式。以下是适用于 Python 日志的几个日志示例及其对应的日志模式:
Trace 日志
日志模式
$DateTime:date$ $LoggerName$ - $LogLevel$:$Message$!<NewLine>$BackTrace$!
日志示例
2023-01-10 07:35:05,456 main - ERROR:[Errno 2] No such file or directory: 'sample.txt<NewLine>Traceback (most recent call last):<NewLine>File "/App/config/loader.py"
普通日志
日志模式
$DateTime:date$ $LogLevel$:$Message$!<NewLine>$BackTrace$!
日志示例
2023-01-10 07:35:05,456 DEBUG: Debug Message
JSON
日志模式
json $exc_info as BackTrace$ $name as LoggerName$ $levelname as LogLevel$ $message as Message$ $asctime as DateTime:date:yyyy-MM-dd HH:mm:ss,SSS$
日志示例
{"asctime": "2023-01-10 07:35:05,456", "name": "__main__", "levelname": "ERROR", "message": "[Errno 2] No such file or directory: 'sample.txt'","exc_info": "Traceback (most recent call last):\n File \"/App/config/loader.py\", line 73, in __init__"}
- 由于系统按第一个匹配的日志模式进行处理,请确保将特定日志模式排在前面,再列出通用模式。例如,在定义上述 Trace 和普通日志模式时,应先列出特定日志模式(如 Trace),再列出通用模式(如默认模式)。
- 如果您的应用程序以本文档中未列出的格式写入日志,您可以创建自定义日志类型以满足需求。

仪表板
AppLogs 为每种日志类型创建专属仪表板,并默认显示若干小组件。以下是 Python 日志仪表板上可用的小组件列表:
- 日志级别
- 异常

