最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

如何在nodejs中使用morgan和winston.js格式获取OriginURL?

运维笔记admin11浏览0评论

如何在nodejs中使用morgan和winston.js格式获取OriginURL?

如何在nodejs中使用morgan和winston.js格式获取OriginURL?

我想在nodejs项目(代码)中使用winston.js和morgan从message属性中获取originalURL:

Winston E.金额

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”而不使用消息属性上的子字符串或切片,有没有办法从myFormat const获取origineURL?

回答如下:

那么,基于Morgan documentation,您可以使用预定义的格式(combinedtiny,...)更改输出格式,或者制作自己的格式,看起来像app.use(morgan(':method :url HTTP/:http-version', { stream: winston.stream }));

发布评论

评论列表(0)

  1. 暂无评论