| const levels = { | |
| NONE: 0, | |
| LOW: 1, | |
| MEDIUM: 2, | |
| HIGH: 3, | |
| }; | |
| let level = levels.HIGH; | |
| module.exports = { | |
| levels, | |
| setLevel: (l) => (level = l), | |
| log: { | |
| parameters: (parameters) => { | |
| if (levels.HIGH > level) { | |
| return; | |
| } | |
| console.group(); | |
| parameters.forEach((p) => console.log(`${p.name}:`, p.value)); | |
| console.groupEnd(); | |
| }, | |
| functionName: (name) => { | |
| if (levels.MEDIUM > level) { | |
| return; | |
| } | |
| console.log(`\nEXECUTING: ${name}\n`); | |
| }, | |
| flow: (flow) => { | |
| if (levels.LOW > level) { | |
| return; | |
| } | |
| console.log(`\n\n\nBEGIN FLOW: ${flow}\n\n\n`); | |
| }, | |
| variable: ({ name, value }) => { | |
| if (levels.HIGH > level) { | |
| return; | |
| } | |
| console.group(); | |
| console.group(); | |
| console.log(`VARIABLE ${name}:`, value); | |
| console.groupEnd(); | |
| console.groupEnd(); | |
| }, | |
| request: () => (req, res, next) => { | |
| if (levels.HIGH > level) { | |
| return next(); | |
| } | |
| console.log('Hit URL', req.url, 'with following:'); | |
| console.group(); | |
| console.log('Query:', req.query); | |
| console.log('Body:', req.body); | |
| console.groupEnd(); | |
| return next(); | |
| }, | |
| }, | |
| }; | |