Я новичок в nodejs и пытаюсь создать функцию для пользовательского форматирования ведения журнала в файл и консоль. Ниже приведена функция, которую я использую для этой цели.
module.exports.log =function(req,res)
{
res.on('finish', function()
{
point = new Date();
clientIP = req.ip;
request = req.protocol + '://' + req.get('host') + req.originalUrl;
userAgent = req.get('User-Agent');
method = req.method;
statusCode = res.statusCode;
output =
"["
+point.toDateString()
+"] -- ["
+point.getHours()
+":"
+point.getMinutes()
+":"
+point.getSeconds()
+"] -- [client IP : "
+clientIP
+"] -- [user agent : "
+userAgent
+"] -- [method : "
+method
+"] -- [request : "
+request
+"] -- [response code : "
+statusCode
+"]"
;
console.log(output);
var fs = require('fs');
fs.appendFile('QAB.log', output, function (err)
{
if (err) throw err;
});
})
}
Не знаю, правильный ли это способ. Я проверил такие библиотеки, как winston, log4js-node и т. д. Но я просто подумал, что создам его сам. Я хотел знать, получу ли я преимущество в производительности, если буду использовать winston, log4js или что-то еще.
Или, говоря по-другому.. Я делаю это неправильно? Повлияет ли это на производительность моего сервера узлов?