mirror of
https://github.com/verdaccio/verdaccio.git
synced 2025-02-17 23:45:29 -05:00
logging didn't work on chunked output
This commit is contained in:
parent
fa51797602
commit
acc2e571ff
1 changed files with 20 additions and 8 deletions
|
@ -100,13 +100,12 @@ module.exports.log_and_etagify = function(req, res, next) {
|
|||
|
||||
var _send = res.send;
|
||||
res.send = function(body) {
|
||||
var error;
|
||||
if (typeof(body) === 'string' || typeof(body) === 'object') {
|
||||
res.header('Content-type', 'application/json');
|
||||
|
||||
if (typeof(body) === 'object' && body != null) {
|
||||
if (body.error) {
|
||||
error = body.error;
|
||||
res._sinopia_error = body.error;
|
||||
}
|
||||
body = JSON.stringify(body, undefined, '\t');
|
||||
}
|
||||
|
@ -116,8 +115,24 @@ module.exports.log_and_etagify = function(req, res, next) {
|
|||
// send(null), send(204), etc.
|
||||
}
|
||||
|
||||
res.send = _send;
|
||||
res.send(body);
|
||||
}
|
||||
|
||||
var bytesout = 0
|
||||
var _write = res.write
|
||||
res.write = function(buf) {
|
||||
bytesout += buf.length
|
||||
_write.apply(res, arguments)
|
||||
}
|
||||
|
||||
var _end = res.end;
|
||||
res.end = function(buf) {
|
||||
if (buf) bytesout += buf.length
|
||||
_end.apply(res, arguments)
|
||||
|
||||
var msg = '@{status}, user: @{user}, req: \'@{request.method} @{request.url}\'';
|
||||
if (error) {
|
||||
if (res._sinopia_error) {
|
||||
msg += ', error: @{!error}';
|
||||
} else {
|
||||
msg += ', bytes: @{bytes.in}/@{bytes.out}';
|
||||
|
@ -127,15 +142,12 @@ module.exports.log_and_etagify = function(req, res, next) {
|
|||
level: 35, // http
|
||||
user: req.user,
|
||||
status: res.statusCode,
|
||||
error: error,
|
||||
error: res._sinopia_error,
|
||||
bytes: {
|
||||
in: bytesin,
|
||||
out: body.length,
|
||||
out: bytesout,
|
||||
}
|
||||
}, msg);
|
||||
|
||||
res.send = _send;
|
||||
res.send(body);
|
||||
};
|
||||
next();
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue