Refactor logger and error handling modules
Moved isTrueFromDotEnv to logger.js and updated its usage. Simplified logger import and instantiation across modules. Added errors.js for centralized error exports. Set default error code in DefaultError. Cleaned up unused imports in utils.js.
This commit is contained in:
parent
c531f2c82c
commit
2e30763da5
@ -1,7 +1,7 @@
|
|||||||
class DefaultError extends Error {
|
class DefaultError extends Error {
|
||||||
constructor(code, message, cause, name) {
|
constructor(code, message, cause, name) {
|
||||||
super(message)
|
super(message)
|
||||||
this.code = code
|
this.code = code || 500
|
||||||
this.name = name || "DefaultError"
|
this.name = name || "DefaultError"
|
||||||
this.cause = cause || "Internal Server Error"
|
this.cause = cause || "Internal Server Error"
|
||||||
this.message = message || "Internal Server Error"
|
this.message = message || "Internal Server Error"
|
||||||
|
|||||||
3
errors/errors.js
Normal file
3
errors/errors.js
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
module.exports = {
|
||||||
|
DefaultError: require("./DefaultError")
|
||||||
|
}
|
||||||
@ -1,6 +1,5 @@
|
|||||||
const fs = require("node:fs")
|
const fs = require("node:fs")
|
||||||
const path = require("node:path")
|
const path = require("node:path")
|
||||||
const utils = require("./utils")
|
|
||||||
require("colors")
|
require("colors")
|
||||||
require("dotenv").config({
|
require("dotenv").config({
|
||||||
quiet: true
|
quiet: true
|
||||||
@ -41,7 +40,7 @@ function write($stream, level, color, content, extraLabels = []) {
|
|||||||
|
|
||||||
function createLogger(root) {
|
function createLogger(root) {
|
||||||
// eslint-disable-next-line no-useless-escape
|
// eslint-disable-next-line no-useless-escape
|
||||||
const fileName = utils.isTrueFromDotEnv("IS_PROD") ? new Date().toLocaleString("fr-FR", { timeZone: "UTC" }).replace(/[\/:]/g, "-").replace(/ /g, "_") : "DEV-LOG"
|
const fileName = isTrueFromDotEnv("IS_PROD") ? new Date().toLocaleString("fr-FR", { timeZone: "UTC" }).replace(/[\/:]/g, "-").replace(/ /g, "_") : "DEV-LOG"
|
||||||
|
|
||||||
const logsDir = path.join(root, "logs")
|
const logsDir = path.join(root, "logs")
|
||||||
|
|
||||||
@ -84,6 +83,10 @@ function stripColors(string) {
|
|||||||
return string.replace(/\x1B\[[0-9;]*[mK]/g, "")
|
return string.replace(/\x1B\[[0-9;]*[mK]/g, "")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function isTrueFromDotEnv(key) {
|
||||||
|
return (process.env[key] || "").trim().toLowerCase() === "true"
|
||||||
|
}
|
||||||
|
|
||||||
const logger = createLogger(process.cwd())
|
const logger = createLogger(process.cwd())
|
||||||
|
|
||||||
module.exports = logger
|
module.exports = logger
|
||||||
@ -1,6 +1,4 @@
|
|||||||
const path = require("node:path")
|
const logger = require("./logger")
|
||||||
const Logger = require("./logger")
|
|
||||||
const logger = Logger.createLogger(path.join(__dirname, ".."))
|
|
||||||
|
|
||||||
function sendValidationError(req, res, zodResult, type, path, errorConfig) {
|
function sendValidationError(req, res, zodResult, type, path, errorConfig) {
|
||||||
const ip = req.headers["x-forwarded-for"] || req.socket.remoteAddress
|
const ip = req.headers["x-forwarded-for"] || req.socket.remoteAddress
|
||||||
|
|||||||
@ -4,8 +4,7 @@ const app = express()
|
|||||||
const cors = require("cors")
|
const cors = require("cors")
|
||||||
const path = require("node:path")
|
const path = require("node:path")
|
||||||
const utils = require("./modules/utils")
|
const utils = require("./modules/utils")
|
||||||
const Logger = require("./modules/logger")
|
const logger = require("./modules/logger")
|
||||||
const logger = Logger.createLogger(__dirname)
|
|
||||||
const helmet = require("helmet")
|
const helmet = require("helmet")
|
||||||
const loader = require("./modules/loader")
|
const loader = require("./modules/loader")
|
||||||
const DefaultError = require("./errors/DefaultError")
|
const DefaultError = require("./errors/DefaultError")
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user