---
description: 保存当前事件类型、分类层次、中英文名称及日志属性。
navTitle: EVENT_TYPE
---
# **EVENT\_TYPE 事件类型表**

事件类型表用于组织系统事件和自定义事件，保存每种事件的编码、中英文名称、所属分类、启用状态和日志属性。查询事件目录、按分类选择事件或制作日志分类统计时，可使用本表。

本表中的一条记录表示一种事件或一个分类。具体发生时间、操作者和执行结果记录在 [LOG\_SYS 系统日志表](./LOG_SYS.md)中。

调用事件记录接口前，须先在本表配置对应的叶子事件（`IS_EVENT=1`）。未登记的名称和分类节点不能用于创建事件；日志级别取自该事件的配置，不自动使用默认级别。

## 位置{#position}

模型路径：`/sysdata/data/tables/sys/EVENT_TYPE.tbl`

物理表名：`SZSYS_5_EVENT_TYPE`

## 表结构{#structure}

| 字段名 | 字段类型 | 字段描述 |
| :---- | :---- | :------ |
| EVENT\_NAME | VARCHAR(128) | 事件或分类的唯一编码，主键，例如 `sec.login`。 |
| PARENT\_NAME | VARCHAR(128) | EVENT\_NAME 最后一个点号之前的前缀；不含点号的顶级节点为空。 |
| EVENT\_DESC\_CN | VARCHAR(256) | 中文名称。 |
| EVENT\_DESC\_EN | VARCHAR(256) | 英文名称。 |
| IS\_EVENT | NUMBER(1) | 1：事件，位于层次末端；0：分类，包含下级节点。 |
| ENABLED | NUMBER(1) | 事件启用状态，1：启用，0：停用；分类取 1。 |
| LOG\_LEVEL | VARCHAR(5) | 事件日志级别。常用值：IMPT（重要）、INFO（一般信息）、TRACE（跟踪）；分类为空。 |
| DETAIL\_LEVEL | NUMBER(1) | 详细日志级别，0：重要，1：一般信息，2：全部；分类为空。 |
| SECURITY\_LEVEL | NUMBER(1) | 日志安全分类，0：普通，1：安全，2：系统；分类为空。 |
| LEVEL | NUMBER(2) | 节点层级，顶级为 0，第二级为 1，第三级为 2。 |
| LEVEL1\_NAME | VARCHAR(128) | 当前节点所属的第一级名称标识；顶级节点填写自身编码。 |
| LEVEL2\_NAME | VARCHAR(128) | 当前节点所属的第二级名称标识；顶级节点为空，第二级节点填写自身编码。 |
| LEVEL3\_NAME | VARCHAR(128) | 当前节点所属的第三级名称标识；前两级节点为空，第三级节点填写自身编码。 |

## 表索引{#indexes}

| 类型 | 名称 | 字段列表 | 是否唯一 | 说明 |
| :---- | :---- | :---- | :---- | :------ |
| 主键 | PRIMARY | EVENT\_NAME | 是 | 唯一标识事件或分类 |

## 分类层次{#hierarchy}

事件目录采用最多三级的父子层次。编码按点号分段，`PARENT_NAME` 取最后一个点号之前的前缀，例如 `sec.login` 的父编码为 `sec`，不能单独指定其他父节点。`LEVEL1_NAME`、`LEVEL2_NAME`、`LEVEL3_NAME` 表示从顶级到当前节点的完整路径。事件是末端节点，不能再包含下级；停用事件仍保留在所属分类中。

例如“系统运维 → 维护模式 → 开启系统运维”：

| 节点 | EVENT\_NAME | PARENT\_NAME | IS\_EVENT | LEVEL |
| :---- | :---- | :---- | :---- | :---- |
| 系统运维 | sys | 空 | 0 | 0 |
| 维护模式 | sys.maintenance | sys | 0 | 1 |
| 开启系统运维 | sys.maintenance.enable | sys.maintenance | 1 | 2 |

其中“开启系统运维”事件的路径为：`LEVEL1_NAME=sys`、`LEVEL2_NAME=sys.maintenance`、`LEVEL3_NAME=sys.maintenance.enable`。查询全部事件时使用 `IS_EVENT=1`；只查询启用事件时，再加上 `ENABLED=1`。

## 与默认事件类型的关系{#default-snapshot}

首次从旧版事件表迁移时，保留旧事件已有的名称描述及日志配置，补入新事件和新增字段，并将 `VERB` 级别转为 `TRACE`。迁移成功后保存新默认基准，后续升级按旧默认、当前配置和新默认进行比较，保留用户修改。

[EVENT\_TYPE\_DEFAULT 默认事件类型表](./EVENT_TYPE_DEFAULT.md)保存系统默认定义，本表保存当前定义。按 `EVENT_NAME` 对照两表，可以查看名称或日志属性与默认值的差异。

只有本表存在的编码，可能是用户新增事件，也可能是从旧版本保留的事件，不能仅凭默认表中不存在就断定其来源。比较配置时，应关注名称、启用状态和日志属性；层级及路径字段反映树的位置。

## 使用注意{#notice}

1. 关联事件时使用 `EVENT_NAME`，不要使用中英文名称作为标识。系统日志中的 `EVENT_NAME` 保存的也是事件名称标识。
2. 分类记录不代表一次可执行或可记录的事件。统计日志时应区分分类和事件，避免将分类作为事件计数。
3. 查询历史日志时不要仅保留启用事件，也不要因事件定义缺失而丢弃日志记录；缺少名称时可展示原事件名称标识。
4. `SECURITY_LEVEL` 表示日志的安全分类，不用于控制用户访问模型或数据的权限。
5. 本表不开放通用数据编辑。不要单独修改层级或路径字段，以免与父子关系不一致。
