Last active
January 23, 2019 18:30
-
-
Save wesleyduff/62a5e8d465da698e633b21b4590b2c19 to your computer and use it in GitHub Desktop.
Node Logger Mock for JavaScript Testing - write to file not console
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
Assumptions | |
- You have a folder in the same space named baseLogger | |
- - You can have other loggers if needed but with this code, you must have a baseLogger | |
Inside baseLogger | |
- should have but not limited to | |
- - debug.log.txt | |
**/ | |
const fileWriter = ((fs) => { | |
let _logger = 'baseLogger', | |
_level = 'debug' | |
return { | |
getCurrentLogger: () => { | |
return {logger: _logger, level: _level} | |
}, | |
getLoggerOptions: () => { | |
return {'log': 'baseLogger'} | |
}, | |
setLogger: (logger) => { | |
_logger = logger; | |
return _logger; | |
}, | |
setLevel: (level) => { | |
_level = level; | |
return _level; | |
}, | |
write: (message, object) => { | |
const content = object ? `\n${message} | ${JSON.stringify(object)}` : `\n${message}`; | |
fs.appendFileSync(`${__dirname}/${_logger}/${_level}.log.txt`, content, (errorWritingFile) => { | |
if(errorWritingFile){ | |
console.log('-- IF YOU SEE THIS ERROR, Fix the Mock Logger Writter.js file') | |
} else { | |
return true; | |
} | |
}) | |
}, | |
clearFile:() => { | |
fs.writeFileSync(`${__dirname}/${_logger}/${_level}.log.txt`, '', (errorWritingFile) => { | |
if(errorWritingFile){ | |
console.log('-- IF YOU SEE THIS ERROR, Fix the Mock Logger Writter.js file') | |
} else { | |
return true; | |
} | |
}) | |
} | |
} | |
}) | |
module.exports = fileWriter(require('fs')); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment