统一日志框架基本介绍
1 功能介绍
苍穹平台升级原有的日志存储、查询和管理方案为新的统一日志框架,涵盖了以下特性点:
单独建立log日志库,分离业务存储和日志存储,为业务运行预留空间;
支持ES数据库(Elasticsearch)存储与查询日志,ES是大数据量下表现最好的专业搜索引擎之一;
统一提供归档等功能,提升不同业务间功能移植的兼容性。
2 主要模块
统一日志框架包括:
一个页面模型:日志表单页面模型。
两大数据库存储日志:Elasticsearch (ES)和Database (DB)。
三大日志功能:写入,管理,查询。
六大功能模块:Log元数据、Log序时簿、框架API写入/查找、Log管理、存储设计、管理界面。
重点模块 | 说明 |
Log元数据 | 由于ES数据库架构限制,统一日志框架存储支持4类元数据, 对日志存储的命名和字段类型有要求。
|
Log序时簿 | Log序时簿为日志表单,由单据扩展而来,可使用模板创建。与单据区别:
|
LogORM | 日志框架提供统一的API接口记录日志数据,写入到ES或DB日志数据库,进行日志查询。API根据日志开关切换,用户无需关心走db还是es。具体请查看LogORM说明。 |
存储设计 | ES日志存储按租户隔离,统一存储;DB日志统一存放到Log日志库,降低业务负载。 |
3 日志开发流程
规范:
日志如果想要增删改字段,需重新建表记录日志;
日志数据库选定ES/DB后,不应随意切换;
各业务场景切换日志数据库或变更字段时,需自行考虑历史数据升级;
初次使用统一日志框架时,需要依据框架重写日志。
流程总体说明:
超级管理员开启或保持关闭ES数据库日志存储开关,选择日志存储方式;
由日志表单元模型,创建日志表单,配置日志表单与控件属性;
使用统一的API接口记录单据的操作等日志数据,写入到ES或DB日志数据库;
在日志列表中查看日志记录,并支持日志查询。
3.1 选定日志库
日志需要先由管理员配置,选择用DB或ES存储日志:
平台所有日志存储只能统一选择DB或ES中一种;
启用DB日志库时,关闭【启用ES存储日志】;
启用ES日志库时,开启【启用ES存储日志】;
3.2 表单开发
统一日志框架为日志开发专门设计了日志表单元模型。日志表单用于记录要写入库的字段。
3.2.1 日志表单业务逻辑
日志表单由单据扩展而来,可直接在开发平台设计器创建、拖入控件、配置属性;
业务单据通过调用写入API,绑定表单中的字段,写入日志;
一个日志表单通常可以对应一种日志类型;
选择ES存储时,日志表单没有DB库意义上的实体;选择DB存储时,所有日志全部存储到同一个log日志库中。
注意:为防范二次开发风险,日志表单模板中的字段必录。不使用这些字段时,可不写入字段、不在日志列表显示。
3.2.2 日志表单控件约束
由于ES数据库Log元数据类型限制,日志表单仅支持以下控件:
通用字段:
文本类:文本、多行文本、大文本;
数值类:整数、长整数、小数;
时间类:日期、长日期、时间;
其他:下拉列表、多选下拉列表。
容器控件
导航控件
3.2.3 日志表单属性约束
由于ES数据库架构特点,日志表单相比单据的属性有如下区别:
日志表单根页面属性部分不支持:关联配置,委托关系,业务控制,单据状态字段,单据参数,单据类型参数,拆分表,主键类型,扩展继承;
日志表单无扩展继承;
日志表单无拆分表;
日志表单字段无加密存储;
3.3 列表开发
日志列表用于日志的显示和查询,点击日志表单的【列表】页签进入。
3.3.1 列表开发业务逻辑
日志列表默认使用bos_loglist为列表表单模板,页面内容包括:时间过滤、快速搜索、刷新、退出、单据列表、表头过滤等;
此模板适合于简单日志快速使用;
时间筛选可快速下拉选择或自定义;
时间筛选最长支持最近三个月。
3.3.2 列表开发约束规范
文本类模糊搜索支持前2000字符;
不支持带*号搜索;
ES数据库不支持自定义排序。
使用bos_loglist时,无法直接在日志列表中添加过滤项。如需求复杂,建议用标准列表表单模板bos_list代替(标准列表表单模板),使用方法和单据列表一致,此时支持快速搜索(模糊搜索)、方案过滤、常用过滤等。
4 重要参考文档
操作示例请参考统一日志框架特性介绍。
LogORM(API)请参考统一日志框架API开发指南。
统一日志框架基本介绍
本文2024-09-23 00:26:22发表“云苍穹知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-cangqiong-139469.html