2

我正在尝试使用express-winston登录我的 nodejs-express-server 应用程序。此应用程序是从 openapi-generator-cli 创建的 openapi API 服务器存根。在记录请求时
指的是关于排除参数的这篇文章。我的目的是检测请求中的授权标头(“api_token”)并屏蔽其值。当我按原样记录请求时,在没有任何过滤的情况下,我在 JSON 格式化后看到大约 1000 多行的大量日志条目。我可以使用一些指针

  1. 屏蔽选定的标题(使用 express-winston 或任何其他库)
  2. 减少日志上的请求大小

这是我正在尝试的过滤器。代码如下。

    function maskTokenFilter(req, propName) {
      if(propName !== "headers" || propName !== "rawHeaders") {
        return req[propName];
      } 
      if(propName == "headers" ){
        const { api_token, ...rest } = req.headers;
        if(api_token) {
          return Object.assign({api_token: '*** masked ***'},rest);
        }   
      }
      if(propName == "rawHeaders" ){
        const { api_token, ...rest } = req.rawHeaders;
        if(api_token) {
          return Object.assign({api_token: '*** masked ***'},rest);
        }   
      }     
    }

express-winston 日志上的完整请求条目在此处共享。(注意:为了便于阅读,我将其格式化为 JSON)

4

0 回答 0