loggit is a simple yet robust logger utility for NodeJS. To a degree, it is a wrapper around chalk + console.log, so that I don't need to install chalk in every project and to standardize the way I do logging in various projects.
You can install it with NPM or Yarn:
yarn add loggit
npm install loggitloggit exposes two modules:
log- A very simple logger function.createLogger- Returns a customized logger function.
Provide log with a message string, as well as an optional color (of type chalk.ForegroundColor), and it will be logged to the console.
import { log } from 'loggit';
log('hello world');
log('some error', 'red');| Argument | Type | Default | 
|---|---|---|
message | 
string | 
- | 
color | 
chalk.ForegroundColor | 
'whiteBright' | 
createLogger allows you to create loggers for various different "tasks" in your app/script. It is more akin to something like winston than a regular console.log, in that it will log a timestamp and make your "task" very visible using a chalk.BackGroundColor.
import { createLogger } from 'loggit';
//  Create a simple logger with default options
const logInfo = createLogger('info');
//  Create a success logger, where the "task" will be logged with a green BG.
const logSuccess = createLogger('success', {
  taskColor: 'bgGreen',
});
//  Create an error logger, where the "task" will be red and the timestamp will be bright magenta.
const logError = createLogger('error', {
  taskColor: 'bgRed',
  timestampColor: 'redBright',
});
//  Use the loggers
logInfo('Started the app');
logSuccess('Things are going well');
logError('Uh oh, something went wrong');This example would write the following to the console:
| Argument | Type | Default | 
|---|---|---|
task | 
string | 
- | 
config | 
CreateLoggerConfig | 
See below. | 
config.taskColor | 
chalk.BackgroundColor | 
'bgCyanBright' | 
config.timestampColor | 
chalk.ForegroundColor | 
'cyanBright' | 
Note that createLogger returns the log function, meaning that you can also customize the message color when using your custom logger.
import { createLogger } from 'loggit';
const logInfo = createLogger('info');
logInfo('I will be yellow!', 'yellow');If you have ideas or suggestions on how to improve this package, feel free to file an issue or better yet open a pull request! Please follow the existing code style (enforced by ESLint anyway), and please add/alter unit tests for any new or changed functionality.
Licensed under MIT.
✌️ Made by Dave
