在Debian系统上监控JavaScript(JS)日志中的网络请求,可以通过以下几种方法和工具进行:
使用Morgan中间件记录HTTP请求日志:
npm install morganconst express = require('express');
const morgan = require('morgan');
const app = express();
// 使用morgan中间件,预定义格式为'tiny'
app.use(morgan('tiny'));
app.get('/', (req, res) => {
res.send('Hello World!');
});
app.listen(3000, () => {
console.log('Server is running on port 3000');
});
自定义日志格式:
app.use(morgan('method url status res[content-length] - response-time ms'));
使用Winston记录日志:
const winston = require('winston');
const logger = winston.createLogger({
level: 'info',
format: winston.format.json(),
transports: [
new winston.transports.File({ filename: 'error.log', level: 'error' }),
new winston.transports.File({ filename: 'combined.log' }),
],
});
app.use((req, res, next) => {
const start = Date.now();
res.on('finish', () => {
const responseTime = Date.now() - start;
logger.info({ req: req.method, reqUrl: req.url, res: res.statusCode, responseTime: responseTime + ' ms' });
});
next();
});
ELK Stack(Elasticsearch, Logstash, Kibana):
Graylog:
Wireshark:
通过上述方法,可以有效地记录和分析Node.js应用中的网络请求日志,帮助开发者监控和优化应用性能。