Adding a token named token causes all subsequent tokens to break.
Author: WadeDutchCreated Jul 27, 2022Updated Aug 17, 2026
Labelsbug
This works just fine:
var logger = require('morgan');
logger.token('ip', function (req, res) { return req.ip ? req.ip : "" });
logger.token('uuid', function (req, res) { return (req.token ? req.token.uuid : "") });
logger.token('token', function (req, res) { return (req.token ? req.token.token : "") });This gives "TypeError: tokens.uuid is not a function" when called in the logger:
var logger = require('morgan');
logger.token('ip', function (req, res) { return req.ip ? req.ip : "" });
logger.token('token', function (req, res) { return (req.token ? req.token.token : "") });
logger.token('uuid', function (req, res) { return (req.token ? req.token.uuid : "") });Source: expressjs/morgan