feat: 首次推送到Gitea - 完整项目代码 + 安全加固 + 知识库

This commit is contained in:
ZhuiGuangAI Dev
2026-10-02 18:52:49 +08:00
parent b44601bb66
commit 8205ae709c
1185 changed files with 49841 additions and 12802 deletions
+42
View File
@@ -0,0 +1,42 @@
// Structured JSON logger with traceId support
import { randomUUID } from "crypto";
const LOG_LEVELS = { debug: 0, info: 1, warn: 2, error: 3 };
const CURRENT_LEVEL = LOG_LEVELS[process.env.LOG_LEVEL || "info"] ?? LOG_LEVELS.info;
function formatLog(level, message, data = {}) {
const entry = {
ts: new Date().toISOString(),
level,
msg: message,
...data,
};
if (!entry.traceId) {
entry.traceId = randomUUID().slice(0, 8);
}
return JSON.stringify(entry);
}
function createLogger(module) {
function log(level, message, data = {}) {
if (LOG_LEVELS[level] < CURRENT_LEVEL) return;
const line = formatLog(level, message, { module, ...data });
if (level === "error") {
console.error(line);
} else if (level === "warn") {
console.warn(line);
} else {
console.log(line);
}
}
return {
debug: (msg, data) => log("debug", msg, data),
info: (msg, data) => log("info", msg, data),
warn: (msg, data) => log("warn", msg, data),
error: (msg, data) => log("error", msg, data),
child: (extra) => createLogger(`${module}:${extra.sub || "child"}`),
};
}
export { createLogger };