javascriptexpressbackendmorgan

How to log user input with Morgan?


Good morning,

I am trying to log user input from user when using morgan and express. What I am specifically trying to log is noted in this image: (The user posted a request with an object that includes two key/value pairs "name" and "number")

Image of logger

How would I go about logging this? Custom tokens or is there a predefined method I could use?


Solution

  • I found the solution, very simple:

    app.use(express.json())
    
    morgan.token("code", function getCode(req) {
      return JSON.stringify(req.body);
     });
    
    app.use(morgan(':method :url :response-time :code'))
    

    JSON.stringify(req.body) was what I was looking for!