簡體   English   中英

我如何在Express Node.js中console.log res.body

[英]How can I console.log the res.body in Express nodejs

我正在使用“ express”:“ ^ 4.16.2”和“ morgan”:“ ^ 1.9.1”,但是我無法記錄響應正文。 我在構建res后通過console.log res.body進行了故障排除。 它可以顯示整個資源,但如果僅記錄res.body,則顯示未定義。

  app.use(express.json());   //build-in
  app.use(express.urlencoded({extended: true}));   
  app.use(morgan(loggerFormat, { stream: accessLogStream }));
......
//*****  Cannot get response body  */
// morgan.token('id', (req) => { return req.id; });
// morgan.token('reqBody', req => { return JSON.stringify(req.body) });
// morgan.token('resBody', (req, res) => {return JSON.stringify(res.body)});
// var loggerFormat = ':date[iso] :id :method :url \n :reqBody \n :status \n :resBody';
// app.use(morgan(loggerFormat, { stream: accessLogStream }));  // 3rd party

  app.post('/api/courses', (req, res) => {
  const { error } = validateCourse(req.body);
  if(error) return res.status(400).json({"error": error.details[0].message});

  const course = {
     id: parseInt(courses[courses.length-1].id) + 1,
     name: req.body.name,
     tutor: req.body.tutor
  };

  courses.push(course);
  res.status(200).json(course);
  console.log(res); 
  console.log(res.body);
});

我嘗試使用Node.js + Express提供的解決方案-如何記錄請求正文和響應正文 ,但這無濟於事。

嘗試這個

   console.log(res); 
   console.log(res.body)
  courses.push(course);
  res.status(200).json(course);

發送響應之前console.log req.body

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM