Skip to content

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?

Answer

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!