Skip to content

Instantly share code, notes, and snippets.

@davistran86
Created June 24, 2020 07:19
Show Gist options
  • Save davistran86/22522840d3b65bb0bb3b2fee837d3b1e to your computer and use it in GitHub Desktop.
Save davistran86/22522840d3b65bb0bb3b2fee837d3b1e to your computer and use it in GitHub Desktop.
Morgan log with only POST request
morgan.token("person", (request, response) => {
  return JSON.stringify(request.body);
});

morgan.token("remote-addr", function (req) {
  return (
    req.headers["x-real-ip"] ||
    req.headers["x-forwarded-for"] ||
    req.connection.remoteAddress
  );
});

morgan.token("date", (req, res) => {
  return new Date().toString();
});

app.use(
  morgan(
    ":remote-addr - :remote-user [:date[web]] :method :url :status :res[content-length] - :response-time ms :person",
    {
      skip: function (req, res) {
        return req.method === "GET";
      },
    }
  )
);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment