debugutil
A NodeJS API debug utility tool with logging developed for my Deployment of Web Applications class at Full Sail University. This package will allow you to debug your API with success and error messages displayed in your CLI (Command Line Interface) as well as saving timestamped messages to a .log file.
Required
This Debug Utility Tool will run on an API created with NodeJS
Installation
In your CLI, ensure that you are in the directory containing your NodeJS API.
Run the following to add debugutil to your node_modules and your package.json file dependencies:
npm install --save debugutil
Dependencies
After installation, run the following to install the dependencies required to properly run debugutil:
npm install
Debugging
You will need to require the debugutil package in each file you wish it to run. You can do this by adding the following to the top of each file:
javascript
const debug = require('utildebug')
To enable logging, add the following environmental variable to your server start command:
DEBUG=true
You will now receive green success and red error messages in your CLI as well as have them logged to the .log file.
To disable logging, add the following environmental variable to your server start command:
DEBUG=false
Unit Testing
I have also included Unit Testing for this package. Unit Testing is provided using chai, [supertest]https://www.npmjs.com/package/supertest() and mocha.
To run Unit Test, run the following command in your CLI:
mocha
Code Coverage
Check out istanbul for more on code coverage.
Other
Please note, the package will create the .log file for you, but not the folder to which the .log file is saved. In your root directory, you will need to manually create a folder called log in which the .log file is saved.
You can change the name and/or path of the folder and the .log file, in src/debug.js. Just edit the following lines:
fs.appendFile('./logs/log.log', '\n' + info + '\n', (debugSuccess) => {
});
and
fs.appendFile('./logs/log.log', '\n' + info + '\n', (debugError) => {
});
You can change the display color of messages in src/debug.js via chalk by editing the following:
const debugSuccess = chalk.green;
const debugError = chalk.red;