有没有一种方法可以记录对我的nodejs服务器的每次调用。从字面上看只是呼叫的URL。我知道这是有可能的,因为我曾经在一个教程中看到一个超级快速的示例,但是我不知道在哪里看到它。
这是我要寻找的东西的一个卑鄙的例子:
app.listen(port, (call)=>{
console.log(call);
console.log(`Server running on http://localhost:${port}...`);
})
答案 0 :(得分:3)
有没有一种方法可以记录对我的nodejs服务器的每次调用?
您去了:https://github.com/expressjs/morgan
一个简单的应用程序,它将以Apache组合格式将所有请求记录到STDOUT
var express = require('express')
var morgan = require('morgan')
var app = express()
app.use(morgan('combined'))
app.get('/', function (req, res) {
res.send('hello, world!')
})
答案 1 :(得分:1)
由于发布了morgan
答案,因此,如果您计划使用一些常规逻辑进行自定义怪异日志记录,则始终可以创建自己的中间件:
var express = require('express')
var app = express()
/**
* Custom middleware with options
*/
var myUrlLogger = (upperCase)=>{
if( typeof uppercase !== 'boolean' ){
upperCase = true;
}
return (req,res,next) =>{
console.log('Logging:', (upperCase ? req.url.toUpperCase() : req.url.toLowerCase()));
next();
}
}
// Set the middleware before your routes
app.use(myUrlLogger(false));
app.get('/', function (req, res) {
res.send('hello, world!')
})