You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Log4js如何禁用HTTP请求自动日志记录?

解决log4js自动记录HTTP调用的问题

嘿,我看你这是被log4js自动打HTTP请求日志的问题搞头大了吧?明明在connectLogger里设了level: 'off',结果那些请求日志还是源源不断地出来,对吧?我之前也碰到过这个情况,给你说个一劳永逸的解决办法:

问题根源

问题出在你用的log4js.connectLogger这个中间件上——它就是专门用来生成HTTP请求访问日志的!这个中间件的职责就是监听每一个进来的HTTP请求,然后输出对应的日志条目。哪怕你把日志级别设为off,在某些log4js的版本里,这个中间件还是会输出那些标着[OFF]的日志,根本拦不住。

解决方案

最彻底的办法:移除中间件

直接把app.js里的这行代码删掉,就能完全禁用HTTP请求日志:

// 删掉这行,HTTP请求日志就不会再生成了
this.app.use(log4js.connectLogger(log4js.getLogger('production'), { level: 'off' }));

临时替代方案:空格式化函数

要是你暂时不想删除中间件(比如怕影响其他逻辑),可以给它设置一个空的格式化函数,让它没法生成日志内容:

this.app.use(log4js.connectLogger(log4js.getLogger('production'), {
  level: 'off',
  format: () => {} // 空函数,不会输出任何日志文本
}));

不过还是更推荐直接移除中间件,毕竟它的唯一作用就是记录HTTP请求日志,不需要的话留着纯属多余。

补充说明

看你生成的日志里显示的是development分类,但你初始化的是production的logger,这大概率是因为你的运行环境变量设成了development,不过这不影响咱们禁用HTTP日志的操作,只要处理掉connectLogger就好。

内容的提问来源于stack exchange,提问作者Or Assayag

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 08:22:42