CHUAN2 DEV ENGINE
996 正版授权研发中心 · 360 授权合作教学中心 · 抖音传奇直播合作授权 · 快手推广运营商授权
OFFICIAL LICENSED ACADEMY 查验官方授权证书 →
// 威海旷世互娱教学基地 · 技术文章
数据存储

【数据存储】日志分级存储:核心日志与调试日志

2026-09-23 16:58 作者:996 技术组 0 阅读 996引擎Lua教程传奇脚本

实战应用:用在哪里

日志的分级存储让排障的效率倍增:核心日志(交易、支付、安全)永久保留,调试日志(性能采样、状态轮询)保留 7 天自动清理。分级的策略让存储的成本可控,排障的关键日志不被清理冲掉。

分级的写入

lua

---日志的分级写入
local LOG_LEVELS = { core = "core_logs", debug = "debug_logs", perf = "perf_logs" }
function Log.write(level, kind, data)
    local target = LOG_LEVELS[level]
    if target then
        QF_AppendLog(target, { kind = kind, data = data, at = os.time() })
    end
end

-- 核心日志:永久保留
Log.write("core", "trade", { orderId = "xxx", amount = 1000 })

-- 调试日志:7 天自动清理
Log.write("debug", "perf_sample", { fps = 58, memory = 120 })

核心日志的写入走独立的存储通道,清理任务跳过核心级别。调试日志的写入有采样控制:全量写入在高峰期产生大量 IO,采样率 10% 在保留排障能力的同时控制写入量。日志的字段结构统一:时间戳、级别、模块、数据体,格式的一致性让查询接口可以跨级别搜索。

查询与搜索

lua

---日志的分级查询
function LogQuery.search(level, kind, timeRange)
    local results = {}
    for _, row in ipairs(QF_LoadLogs(level, timeRange)) do
        if not kind or row.kind == kind then
            results[#results + 1] = row
        end
    end
    return results
end

查询按级别与类型双重过滤,时间范围支持精确到秒的检索。日志的查询接口给运维工具与客服后台分别开放,运维查全量、客服查核心级。日志的存储按月分目录,目录的滚动让文件系统不会在单目录下堆积过多文件。

验证与监控

日志的写入速率与存储占用按小时监控,写入的异常峰值(翻倍级)提示业务侧的异常。

踩坑记录

分级的设计曾经让核心日志的量远超预期,交易类日志的高频写入让核心目录每天增长数GB,核心日志的采样率降至 5% 后可控。日志的清理任务曾经误删了当天的核心日志,清理的范围限定在调试级别,核心级别的日志不参与自动清理。

上线要点

日志的分级标准进开发规范:什么级别的日志进哪个通道在编码时确定,级别的调整走评审。日志的查询接口给运维工具集成,运维的排障流程在工具内清结不需要登服务器查文件。日志的格式统一为 JSON,结构化的日志让查询与聚合的效率提升。

本文由 996 技术组基于 996 引擎官方知识库与浮生梦老师课程体系整理。团队长期从事传奇类引擎 Lua 后端逻辑、客户端界面与商业版本交付,内容以官方知识库与真实项目为出处,按版本持续修订。

作者履历与出处

本文由 996 技术组基于 996 引擎官方知识库与浮生梦老师课程体系整理。团队长期从事传奇类引擎 Lua 后端逻辑、客户端界面与商业版本交付,内容以官方知识库与真实项目为出处,按版本持续修订。

← 返回文章地图返回研学路径

最新技术文章 · 实战干货

LATEST ARTICLES

全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →

玩法策划行会商会日市集交易

【玩法策划】行会商会日:定期内部交易市集

实战应用:用在哪里 行会内部的物资交换长期靠喊话:谁有强效太阳水、谁收祝福油,喊话靠缘分看见。行会商会日把内部交易固定成市集…

2026-09-23 19:50 996 技术组 · 0 阅读
Lua实战字段白名单存档过滤

【Lua实战】字段白名单:存档输出的字段过滤

实战应用:用在哪里 角色存档直接输出到展示接口时,内部字段(GM 标记、风控计数、内部编号)会被一并带出去,轻则泄露信息,重…

2026-09-23 19:50 996 技术组 · 0 阅读
工具链日志检索轨迹聚合

【工具链】日志检索:按角色名聚合行为轨迹

实战应用:用在哪里 排查一个玩家的异常行为,要在十几种日志里来回 grep,一次排查半小时起步。日志检索工具按角色名聚合所有…

2026-09-23 19:50 996 技术组 · 0 阅读
运维发布开服检查单检查确认

【运维发布】开服检查单:首日开放的逐项确认

实战应用:用在哪里 开服首日的问题七成是低级失误:礼包配置没发、传送点没开、公告没挂。开服检查单把首日开放前的三十项检查固化…

2026-09-23 19:50 996 技术组 · 0 阅读
引擎触发祖玛阁密室序列暗格

【引擎触发】祖玛阁密室:暗格开门的序列触发设计

实战应用:用在哪里 祖玛阁深处有一间密室,墙上有四块浮雕,按正确顺序踩亮才能打开暗格,顺序每天随机。序列触发设计让解谜每日一…

2026-09-23 19:50 996 技术组 · 0 阅读
性能调优切图预热资源加载预热

【性能调优】切图预热:目标地图的资源提前加载

实战应用:用在哪里 点击传送后站在黑屏里等五秒,是切图体验最差的来源:地图资源在传送确认后才开始加载,加载完才渲染。切图预热…

2026-09-23 19:50 996 技术组 · 0 阅读