UNPKG

create-nodejs-express

Version:

A package for creating a folder structure for nodejs/express application

52 lines (42 loc) 1.57 kB
module.exports = `const fs = require('fs'); const path = require('path') const errorHandler = (err, req, res, next) => { const status = err.statusCode || 500; const msg = err.message || 'Server error'; const ErrorObj = { success: err.success, statusCode: status, isOperational: err.isOperational || false, request: req.method + " " + req.originalUrl, domain: err.domain || undefined, message: '🔥Error🔥: ' + msg, date: new Date().toGMTString(), stack: err.stack, } // Logging the error to the log.txt file let date = new Date(); let dirname = path.join('log', date.toLocaleDateString().split('/').join('_')); let filename = path.join(dirname , date.getUTCHours() + '.log'); let data = JSON.stringify(ErrorObj, null, 2) + '\\r\\n\\n'; const appendLogger = () => { fs.appendFile(filename, data, (err) => { if (err) return console.log('Error: writing logger', err) }) } fs.exists(dirname, (exists) => { if (exists) {return appendLogger()} fs.mkdir(dirname, (err) => { if (err) return console.log(err) appendLogger() }) }) if (process.env.NODE_ENV !== 'development') { delete ErrorObj.domain; delete ErrorObj.request; delete ErrorObj.isOperational; delete ErrorObj.stack; delete ErrorObj.date; } res.status(status).json(ErrorObj); } module.exports = errorHandler`;