backend logging
This commit is contained in:
@@ -12,6 +12,8 @@ const path = require("path");
|
||||
const helmet = require("helmet");
|
||||
const { sequelize } = require("./models"); // Import from models/index.js to ensure associations are loaded
|
||||
const { cookieParser } = require("./middleware/csrf");
|
||||
const logger = require("./utils/logger");
|
||||
const morgan = require("morgan");
|
||||
|
||||
const authRoutes = require("./routes/auth");
|
||||
const userRoutes = require("./routes/users");
|
||||
@@ -34,6 +36,8 @@ const {
|
||||
sanitizeError,
|
||||
} = require("./middleware/security");
|
||||
const { generalLimiter } = require("./middleware/rateLimiter");
|
||||
const errorLogger = require("./middleware/errorLogger");
|
||||
const apiLogger = require("./middleware/apiLogger");
|
||||
|
||||
// Apply security middleware
|
||||
app.use(enforceHTTPS);
|
||||
@@ -60,6 +64,12 @@ app.use(
|
||||
// Cookie parser for CSRF
|
||||
app.use(cookieParser);
|
||||
|
||||
// HTTP request logging
|
||||
app.use(morgan('combined', { stream: logger.stream }));
|
||||
|
||||
// API request/response logging
|
||||
app.use("/api/", apiLogger);
|
||||
|
||||
// General rate limiting for all routes
|
||||
app.use("/api/", generalLimiter);
|
||||
|
||||
@@ -107,6 +117,7 @@ app.get("/", (req, res) => {
|
||||
});
|
||||
|
||||
// Error handling middleware (must be last)
|
||||
app.use(errorLogger);
|
||||
app.use(sanitizeError);
|
||||
|
||||
const PORT = process.env.PORT || 5000;
|
||||
@@ -114,15 +125,16 @@ const PORT = process.env.PORT || 5000;
|
||||
sequelize
|
||||
.sync({ alter: true })
|
||||
.then(() => {
|
||||
console.log("Database synced");
|
||||
logger.info("Database synced successfully");
|
||||
|
||||
// Start the payout processor
|
||||
const payoutJobs = PayoutProcessor.startScheduledPayouts();
|
||||
logger.info("Payout processor started");
|
||||
|
||||
app.listen(PORT, () => {
|
||||
console.log(`Server is running on port ${PORT}`);
|
||||
logger.info(`Server is running on port ${PORT}`, { port: PORT, environment: env });
|
||||
});
|
||||
})
|
||||
.catch((err) => {
|
||||
console.error("Unable to sync database:", err);
|
||||
logger.error("Unable to sync database", { error: err.message, stack: err.stack });
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user