Как получить OriginURL, используя формат morgan и winston.js в nodejs? - PullRequest
0 голосов
/ 12 марта 2019

Я пытаюсь получить originalURL из атрибута сообщения, используя winston.js и morgan в проекте nodejs (код):

winstone.je

const { createLogger, format, transports } = require('winston');
const { combine, timestamp, label, printf } = format;

const myFormat = printf(({ level, message, label, timestamp }) => {
  return `${timestamp}  ${level}: ${message}`;
});

const logger = createLogger({
  format: combine(
    label({ label: 'right meow!' }),
    timestamp(),
    myFormat
  ),
  transports: [new transports.Console()]
});

app.js

app.use(morgan('combined', { stream: winston.stream }));

вывод:

2019-03-12T13:35:50.112Z : ::1 - - [12/Mar/2019:13:35:50 +0000] "GET /api/bar/origin/000a  HTTP/1.1"

мне нужно получить только эту часть: «GET / api / bar / origin / 000a HTTP / 1.1» без использования подстроки или среза в атрибуте сообщения. Есть ли способ получить origineURL из константы myFormat пожалуйста?

1 Ответ

0 голосов
/ 12 марта 2019

Ну, основываясь на документации Моргана , вы можете изменить формат вывода, используя предопределенный формат (combined, tiny, ...) или создать свой собственный, который должен выглядеть как app.use(morgan(':method :url HTTP/:http-version', { stream: winston.stream }));

...