Как я могу указать определенный формат для Моргана в nodejs? - PullRequest
0 голосов
/ 20 февраля 2019

Используя morgan / express в nodejs, как я могу отобразить вывод консоли в следующем формате: день / месяц / год: чч: мм: SS GET / POST "some-api-endpoint-path"?

Я пытался использовать «комбинированный» формат, но не добился большого успеха.

1 Ответ

0 голосов
/ 20 февраля 2019

У Моргана есть список предопределенных токенов, которые вы можете найти по этому адресу .

В вашем случае вы хотите использовать date, method и url.Таким образом, ваша установка morgan будет такой:

app.use(morgan(':date :method ":url"'));

Этого должно быть достаточно для того, чтобы вы поняли основы его работы и покопались, чтобы получить лучший вывод журнала для вас.

Если вы хотитесоздайте свой собственный токен, вам нужно будет позвонить morgan.token().Вот пример установки токена username с использованием req.user, предоставленного Express и Passport:

morgan.token('username', function (req, res) { 
    var username = req.user ? req.user.username: "Guest";
    return username;
});

Это сделает его доступным в качестве токена для регистрации, и вы сможете звонить:

app.use(morgan(':username :date :method :url'));
...