如何关闭Express.js中/slotc4llb4ckb2b接口的POST请求日志
如何禁用Express.js接口的控制台日志输出
问题背景
使用Express.js开发服务时,每当/slotc4llb4ckb2b接口收到POST请求(触发do-auth-user-ingame API分支),控制台会输出一段JSON日志,需要禁用该输出。
相关代码
app.use(express.json()); app.use(express.urlencoded({ extended: true })); var optionsNeedle = { compressed: true, accept: 'application/json', content_type: 'application/json' }; app.post('/slotc4llb4ckb2b', (req, res) => { res.set('Connection', 'close'); res.setHeader('content-type', 'application/json'); var request = JSON.parse(JSON.stringify(req.body)) switch (request.api) { case 'do-auth-user-ingame' : var datacc = request; var data = needle.post('https://example.com:8443/slot_auth', datacc, optionsNeedle, function(err, resp, body) { var d = parser.parseFromString(body); var x = d.getElementsByTagName('pre')[0].innerHTML = d.getElementsByTagName('pre')[0].innerHTML.replace(/\n/g, '<br/>'); var text = x.replace(/&quot;/g, '\\"'); var text = text.replace(/\\/g, ""); console.log(text); // 这行是日志输出的来源 var text = JSON.parse(text); slot__out(text, function(s){ res.send(JSON.stringify(s)); }); }); break; // 其他case分支省略... default : throw "Unknown api"; } });
解决方案
直接删除或注释掉do-auth-user-ingame分支中的console.log(text)语句即可。
修改后的该分支代码:
case 'do-auth-user-ingame' : var datacc = request; var data = needle.post('https://example.com:8443/slot_auth', datacc, optionsNeedle, function(err, resp, body) { var d = parser.parseFromString(body); var x = d.getElementsByTagName('pre')[0].innerHTML = d.getElementsByTagName('pre')[0].innerHTML.replace(/\n/g, '<br/>'); var text = x.replace(/&quot;/g, '\\"'); var text = text.replace(/\\/g, ""); // console.log(text); // 注释或删除此行禁用日志 var text = JSON.parse(text); slot__out(text, function(s){ res.send(JSON.stringify(s)); }); }); break;
补充说明
你的代码中仅do-auth-user-ingame这个API分支包含控制台输出语句,其他分支没有相关日志代码,因此只需处理这一处即可解决问题。后续若其他分支出现类似日志,同样通过删除或注释对应console.log语句处理。
内容的提问来源于stack exchange,提问作者awkkk999
相关产品推荐
相关产品推荐

