架构: 添加请求日志中间件

This commit is contained in:
Architecture Designer 2026-03-10 09:09:54 +00:00
parent 3ac935fcdc
commit 3cd5de38a3
2 changed files with 30 additions and 0 deletions

View File

@ -12,12 +12,14 @@ const trashRoutes = require('./routes/trash');
const statsRoutes = require('./routes/stats');
const recentRoutes = require('./routes/recent');
const errorHandler = require('./middleware/errorHandler');
const logger = require('./middleware/logger');
const app = express();
const PORT = process.env.PORT || 3000;
app.use(cors());
app.use(express.json());
app.use(logger);
app.use('/api/auth', authRoutes);
app.use('/api/files', fileRoutes);

View 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;