docs: 整理文档——修复全部 file:// 失效链接、补齐缺失模块 README

- 将 7 个文档中的 mac 绝对路径链接(file:///Users/qingsong/...)转换为仓库相对路径,
  并修正错误目标:aibox 入口 main.py → aibox.py、pymsg C++ 实现 → libmsg/inc/us/Msg.hpp、
  bot4cj cpp/cnn → cuda
- 主 README 补 liblogc 基础库条目与 confs2 归档说明,安装顺序补 ca
- 新增 liblogc / libtry / confs2 / 3d / memdb README
- 同步 db2 脚本迁移(db/create_sqlite3.sql → db2/scripts/)导致的失效引用
This commit is contained in:
qing committed 2026-08-10 15:48:29 +00:00
1 parent 7072e33d6f
commit 7467e7bd42
13 files changed
+158 -92

No files matched your search

+37
View File
@@ -0,0 +1,37 @@
# liblogc — 统一集中式日志客户端(C++ 版)
C++20 统一日志客户端库,对应 Python 侧的 `log_client.py`:通过 pymsg/TCP 调用 `db2:8005` 的 `execute` 路由,逐条 INSERT 到 `Logs` 表,实现集中式日志收集。
命名空间 `qing`,库文件 `libus_logc.so`,头文件安装至 `/usr/include/us/LogC.hpp`。被 `ca` / `core` / `gateway` / `captcha2` / `smtp3` 等 C++ 服务依赖。
## 设计要点
- **异步非阻塞**:基于 `pmc::net::AsyncQueue` 内存队列 + 后台线程批量推送,不阻塞业务。
- **缓冲批量**:队列满 50 条或超时 2 秒自动 flush。
- **背压保护**:队列上限 10000 条,满时丢弃最旧日志,防止内存无限增长。
- **级别过滤**:`set_level()` 设定阈值,低于阈值的日志直接丢弃。
- **fail-safe**:db2 不可用时静默丢弃(仅 stderr 提示),绝不影响业务。
- **可配置**:`set_endpoint()` / `set_service_name()`,各服务复用同一份库。
## 用法
```cpp
#include <us/LogC.hpp>
// 启动时配置(默认 127.0.0.1:8005)
qing::LogC::instance().set_endpoint("127.0.0.1", 8005);
qing::LogC::instance().set_service_name("gateway-log");
qing::LogC::instance().set_level("warn");
qing::LogC::instance().info("gateway", "启动完成");
qing::LogC::instance().error("gateway", "连接失败", std::nullopt, R"({"errno":111})");
// 进程退出前调用(幂等)
qing::LogC::instance().shutdown();
```
## 构建安装
```bash
bash _set.sh
```