Skip to content

Commit ab228fc

Browse files
committed
feat: 添加日志记录功能的条件判断,支持通过环境变量控制日志记录开关
1 parent 579b60a commit ab228fc

1 file changed

Lines changed: 9 additions & 10 deletions

File tree

_worker.js

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1215,13 +1215,19 @@ function Surge订阅配置文件热补丁(content, url, config_JSON) {
12151215
}
12161216

12171217
async function 请求日志记录(env, request, 访问IP, 请求类型 = "Get_SUB", config_JSON) {
1218-
const KV容量限制 = 4;//MB
1219-
if (env.OFF_LOG) return;
12201218
try {
12211219
const 当前时间 = new Date();
12221220
const 日志内容 = { TYPE: 请求类型, IP: 访问IP, ASN: `AS${request.cf.asn || '0'} ${request.cf.asOrganization || 'Unknown'}`, CC: `${request.cf.country || 'N/A'} ${request.cf.city || 'N/A'}`, URL: request.url, UA: request.headers.get('User-Agent') || 'Unknown', TIME: 当前时间.getTime() };
1221+
if (config_JSON.TG.启用) {
1222+
try {
1223+
const TG_TXT = await env.KV.get('tg.json');
1224+
const TG_JSON = JSON.parse(TG_TXT);
1225+
await sendMessage(TG_JSON.BotToken, TG_JSON.ChatID, 日志内容, config_JSON);
1226+
} catch (error) { console.error(`读取tg.json出错: ${error.message}`) }
1227+
}
1228+
if (env.OFF_LOG && !['0', 'false'].includes(env.OFF_LOG)) return;
12231229
let 日志数组 = [];
1224-
const 现有日志 = await env.KV.get('log.json');
1230+
const 现有日志 = await env.KV.get('log.json'), KV容量限制 = 4;//MB
12251231
if (现有日志) {
12261232
try {
12271233
日志数组 = JSON.parse(现有日志);
@@ -1235,13 +1241,6 @@ async function 请求日志记录(env, request, 访问IP, 请求类型 = "Get_SU
12351241
日志数组.push(日志内容);
12361242
while (JSON.stringify(日志数组, null, 2).length > KV容量限制 * 1024 * 1024 && 日志数组.length > 0) 日志数组.shift();
12371243
}
1238-
if (config_JSON.TG.启用) {
1239-
try {
1240-
const TG_TXT = await env.KV.get('tg.json');
1241-
const TG_JSON = JSON.parse(TG_TXT);
1242-
await sendMessage(TG_JSON.BotToken, TG_JSON.ChatID, 日志内容, config_JSON);
1243-
} catch (error) { console.error(`读取tg.json出错: ${error.message}`) }
1244-
}
12451244
} catch (e) { 日志数组 = [日志内容]; }
12461245
} else { 日志数组 = [日志内容]; }
12471246
await env.KV.put('log.json', JSON.stringify(日志数组, null, 2));

0 commit comments

Comments
 (0)