UNPKG

@hoangnam.io/qa-tools

Version:

Logging, Error handling, Notifying for Express codebase

49 lines (40 loc) 1.52 kB
require("dotenv").config(); const express = require("express"); const app = express(); app.use(express.json()); app.use(express.urlencoded({ extended: false })); const cors = require("cors"); const { createLogMiddleware } = require("./logging/log-middleware"); const { getLogger } = require("./logging/logger"); const { getNotifier } = require("./notify"); const { getErrorHandlerMiddleware } = require("./error-handling"); app.use(cors()); // log requests app.use( createLogMiddleware(app, { extractCallerFunc: (req) => req.userInfo, gcProjectId: "kicc-384807", mongoConfig: { connectionString: process.env.MONGODB_CONNECT_STRING, collectionName: "request_logs" }, // serviceAccountFilePath: "./service-account-key.json", // fluentConfig: { host: "0.0.0.0" }, }) ); // logger const logger = getLogger({ mongoConfig: { connectionString: process.env.MONGODB_CONNECT_STRING, collectionName: "logs" }, }); // logger.log({ status: 200, message: "hallo" }); // notifier const notifier = getNotifier({ discord: { url: "https://discord.com/api/webhooks/1104061419097424064/xbzZwInDBoKihzai4WLbXKUqJh0XlL0CPjjBvGKDRvRxVdEq3I32nHtwZFp6fJmVfebE", enable: true, }, }); app.use(require("./auth")); app.use(require("./test")); // handle error const errorHandler = getErrorHandlerMiddleware(notifier, (req) => req.userInfo, "TestLogLib"); app.use(errorHandler); const PORT = process.env.PORT || 8000; app.listen(PORT, () => console.log(`${process.env.APP_NAME} listening on port ${PORT}!`));