架构: 添加请求日志中间件
This commit is contained in:
parent
3ac935fcdc
commit
3cd5de38a3
@ -12,12 +12,14 @@ const trashRoutes = require('./routes/trash');
|
|||||||
const statsRoutes = require('./routes/stats');
|
const statsRoutes = require('./routes/stats');
|
||||||
const recentRoutes = require('./routes/recent');
|
const recentRoutes = require('./routes/recent');
|
||||||
const errorHandler = require('./middleware/errorHandler');
|
const errorHandler = require('./middleware/errorHandler');
|
||||||
|
const logger = require('./middleware/logger');
|
||||||
|
|
||||||
const app = express();
|
const app = express();
|
||||||
const PORT = process.env.PORT || 3000;
|
const PORT = process.env.PORT || 3000;
|
||||||
|
|
||||||
app.use(cors());
|
app.use(cors());
|
||||||
app.use(express.json());
|
app.use(express.json());
|
||||||
|
app.use(logger);
|
||||||
|
|
||||||
app.use('/api/auth', authRoutes);
|
app.use('/api/auth', authRoutes);
|
||||||
app.use('/api/files', fileRoutes);
|
app.use('/api/files', fileRoutes);
|
||||||
|
|||||||
28
backend/src/middleware/logger.js
Normal file
28
backend/src/middleware/logger.js
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
// 请求日志中间件
|
||||||
|
const logger = (req, res, next) => {
|
||||||
|
const start = Date.now();
|
||||||
|
|
||||||
|
res.on('finish', () => {
|
||||||
|
const duration = Date.now() - start;
|
||||||
|
const log = {
|
||||||
|
method: req.method,
|
||||||
|
url: req.url,
|
||||||
|
status: res.statusCode,
|
||||||
|
duration: `${duration}ms`,
|
||||||
|
ip: req.ip,
|
||||||
|
userAgent: req.get('user-agent'),
|
||||||
|
timestamp: new Date().toISOString()
|
||||||
|
};
|
||||||
|
|
||||||
|
// 控制台输出
|
||||||
|
if (log.status >= 400) {
|
||||||
|
console.error('[ERROR]', JSON.stringify(log));
|
||||||
|
} else {
|
||||||
|
console.log('[INFO]', JSON.stringify(log));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
next();
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = logger;
|
||||||
Loading…
Reference in New Issue
Block a user