Nodejs: Morgon logs are not logging complete response time when streaming is enabled
up vote
0
down vote
favorite
I have a code which does Simple HTML streaming using nodejs and express. The first stream happens at 3rd sec, the second stream happens at 6th sec and the last stream happens at 9th sec. The code is enabled with Morgon log to log the response time. The response time that gets logged via Morgon shows as 3 sec (logs the first stream response time). Is there a way in Morgon or in nodejs or in express to get the complete response time when streaming is enabled? Helps is much appreciated.
var express = require("express");
var bodyParser = require('body-parser');
var utf8 = require('utf8');
var axios = require('axios');
var morgan = require('morgan')
var fs = require('fs')
var path = require('path')
var app = express();
var port = 3000;
app.use(bodyParser.urlencoded( extended: false ));
var urlencodedParser = bodyParser.urlencoded( extended: true )
app.use(function(req, res, next)
var decodedUrl = decodeURIComponent(req.originalUrl);
req.originalUrl = decodedUrl;
next();
);
var accessLogStream = fs.createWriteStream(path.join(__dirname, 'access.log'), flags: 'a' )
app.use(morgan(':method :url :response-time'))
// respond with "hello world" when a GET request is made to the homepage
app.get("/test/*/id*", urlencodedParser, function (req, res)
let soapUIHeader = '<dummy></dummy>';
setTimeout(function()
res.write('<div><p>Header........</p><div>');
setTimeout(function body()
res.write('<div><p>Body........</p><div>');
setTimeout(function footer()
res.write('<div><p>Footer........</p><div>');
res.end();
,3000)
,3000);
,3000)
);
app.listen(port, function()
console.log("server started in port " + port);
);
module.exports = app
node.js express morgan
add a comment |
up vote
0
down vote
favorite
I have a code which does Simple HTML streaming using nodejs and express. The first stream happens at 3rd sec, the second stream happens at 6th sec and the last stream happens at 9th sec. The code is enabled with Morgon log to log the response time. The response time that gets logged via Morgon shows as 3 sec (logs the first stream response time). Is there a way in Morgon or in nodejs or in express to get the complete response time when streaming is enabled? Helps is much appreciated.
var express = require("express");
var bodyParser = require('body-parser');
var utf8 = require('utf8');
var axios = require('axios');
var morgan = require('morgan')
var fs = require('fs')
var path = require('path')
var app = express();
var port = 3000;
app.use(bodyParser.urlencoded( extended: false ));
var urlencodedParser = bodyParser.urlencoded( extended: true )
app.use(function(req, res, next)
var decodedUrl = decodeURIComponent(req.originalUrl);
req.originalUrl = decodedUrl;
next();
);
var accessLogStream = fs.createWriteStream(path.join(__dirname, 'access.log'), flags: 'a' )
app.use(morgan(':method :url :response-time'))
// respond with "hello world" when a GET request is made to the homepage
app.get("/test/*/id*", urlencodedParser, function (req, res)
let soapUIHeader = '<dummy></dummy>';
setTimeout(function()
res.write('<div><p>Header........</p><div>');
setTimeout(function body()
res.write('<div><p>Body........</p><div>');
setTimeout(function footer()
res.write('<div><p>Footer........</p><div>');
res.end();
,3000)
,3000);
,3000)
);
app.listen(port, function()
console.log("server started in port " + port);
);
module.exports = app
node.js express morgan
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
I have a code which does Simple HTML streaming using nodejs and express. The first stream happens at 3rd sec, the second stream happens at 6th sec and the last stream happens at 9th sec. The code is enabled with Morgon log to log the response time. The response time that gets logged via Morgon shows as 3 sec (logs the first stream response time). Is there a way in Morgon or in nodejs or in express to get the complete response time when streaming is enabled? Helps is much appreciated.
var express = require("express");
var bodyParser = require('body-parser');
var utf8 = require('utf8');
var axios = require('axios');
var morgan = require('morgan')
var fs = require('fs')
var path = require('path')
var app = express();
var port = 3000;
app.use(bodyParser.urlencoded( extended: false ));
var urlencodedParser = bodyParser.urlencoded( extended: true )
app.use(function(req, res, next)
var decodedUrl = decodeURIComponent(req.originalUrl);
req.originalUrl = decodedUrl;
next();
);
var accessLogStream = fs.createWriteStream(path.join(__dirname, 'access.log'), flags: 'a' )
app.use(morgan(':method :url :response-time'))
// respond with "hello world" when a GET request is made to the homepage
app.get("/test/*/id*", urlencodedParser, function (req, res)
let soapUIHeader = '<dummy></dummy>';
setTimeout(function()
res.write('<div><p>Header........</p><div>');
setTimeout(function body()
res.write('<div><p>Body........</p><div>');
setTimeout(function footer()
res.write('<div><p>Footer........</p><div>');
res.end();
,3000)
,3000);
,3000)
);
app.listen(port, function()
console.log("server started in port " + port);
);
module.exports = app
node.js express morgan
I have a code which does Simple HTML streaming using nodejs and express. The first stream happens at 3rd sec, the second stream happens at 6th sec and the last stream happens at 9th sec. The code is enabled with Morgon log to log the response time. The response time that gets logged via Morgon shows as 3 sec (logs the first stream response time). Is there a way in Morgon or in nodejs or in express to get the complete response time when streaming is enabled? Helps is much appreciated.
var express = require("express");
var bodyParser = require('body-parser');
var utf8 = require('utf8');
var axios = require('axios');
var morgan = require('morgan')
var fs = require('fs')
var path = require('path')
var app = express();
var port = 3000;
app.use(bodyParser.urlencoded( extended: false ));
var urlencodedParser = bodyParser.urlencoded( extended: true )
app.use(function(req, res, next)
var decodedUrl = decodeURIComponent(req.originalUrl);
req.originalUrl = decodedUrl;
next();
);
var accessLogStream = fs.createWriteStream(path.join(__dirname, 'access.log'), flags: 'a' )
app.use(morgan(':method :url :response-time'))
// respond with "hello world" when a GET request is made to the homepage
app.get("/test/*/id*", urlencodedParser, function (req, res)
let soapUIHeader = '<dummy></dummy>';
setTimeout(function()
res.write('<div><p>Header........</p><div>');
setTimeout(function body()
res.write('<div><p>Body........</p><div>');
setTimeout(function footer()
res.write('<div><p>Footer........</p><div>');
res.end();
,3000)
,3000);
,3000)
);
app.listen(port, function()
console.log("server started in port " + port);
);
module.exports = app
node.js express morgan
node.js express morgan
asked Nov 10 at 7:15
shanmugam vairavan
64
64
add a comment |
add a comment |
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53236828%2fnodejs-morgon-logs-are-not-logging-complete-response-time-when-streaming-is-ena%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown