Skip to content

logProvider Issue: No logging from winston when a call is given #194

@Spenstar

Description

@Spenstar

Behavior without logProvider override

[HPM] Rewriting path from "/some_path/request" to "/api/request"
[HPM] GET /some_path/api/request ~> http://some_url.com:port

Expected behavior

TIME_LOGGED - info: [HPM] Rewriting path from "/some_path/request" to "/api/request"
TIME_LOGGED - info: [HPM] GET /some_path/api/request ~> http://some_url.com:port

Actual behavior

No output to console

Setup

  • http-proxy-middleware: 0.17.4
  • server: express 4.14.0
  • logger: winston 2.3.1

proxy middleware configuration / Server Mounting

var http_proxy = require('http-proxy-middleware');
var express = require('express');
var router = express.Router();

var requestTime = function (req, res, next) {
  req._startTime = new Date().getTime();
  next();
};

router.use('/some_path', requestTime, proxy('http://some_url.com', '/api'));

function onProxyRequest(path) {
  return function (proxyReq, req) {
    var values = serviceCallerId(req);
    proxyReq.setHeader('User-Agent', values.userAgent);
    proxyReq.setHeader('X-Orig-Base', '/some/api' + path);
    if (!req.headers.accept) {
      proxyReq.setHeader('accept', 'application/json');
    }
    return proxyReq;
  };
}

function proxy(url, path) {
  var pathRewrite = {};
  pathRewrite['^' + path + '/'] = '/';
  var options = {
    logLevel: 'debug',
    logProvider: function (provider) {
      var winston = require('winston');
      return new (winston.Logger)({
        transports: [
          new (winston.transports.Console)(
              {'timestamp':true})
        ]
      });
    },
    target: url,
    changeOrigin: true,
    pathRewrite: pathRewrite,
    onProxyReq: onProxyRequest(path)
  };
  return http_proxy(options);
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions