colorful-chalk-logger
is a colorful logger tool based on chalk(so you can use a lot of colors) and commander(so you can use command line parameters to customized the logger's behavior).
Install
you can use colorful-chalk-logger
either in typescript
or javascript
.
yarn add colorful-chalk-logger// ornpm install --save colorful-chalk-logger
cli-options
--log-level <debug|verbose|info|warn|error|fatal>
: specify global logger level.--log-flag <[no-](date|inline|colorful)>
: the prefixno-
represent negation.date
: whether to print date. default value is falseinline
: each log record output in one line. default value is false.colorful
: whether to print with colors. default value is true.
--log-output <filepath>
: specify the output path (default behavior is output directory to stdout).- suggest: set
colorful = false
andinline = true
if you want to output logs into a file.
- suggest: set
--log-encoding <encoding>
: specify the log file's encoding.
Example
// demo/demo1.ts logger.debug'A', 'B', 'C'logger.verbose'A', 'B', 'C'logger.info'a', 'b', 'c'logger.warn'X', 'Y', 'Z', logger.error'x', 'y', 'z', logger.fatal'1', '2', '3'
Custom output format:
// demo/demo2.ts logger.formatHeader = logger.debug'A', 'B', 'C'logger.verbose'A', 'B', 'C'logger.info'a', 'b', 'c'logger.warn'X', 'Y', 'Z', logger.error'x', 'y', 'z', logger.fatal'1', '2', '3'
// demo/demo3.ts logger.debug'A', 'B', 'C'logger.verbose'A', 'B', 'C'logger.info'a', 'b', 'c'logger.warn'X', 'Y', 'Z', logger.error'x', 'y', 'z', logger.fatal'1', '2', '3'
output to file
// demo/demo4.ts logger.debug'A', 'B', 'C'logger.verbose'A', 'B', 'C'logger.info'a', 'b', 'c'logger.warn'X', 'Y', 'Z', logger.error'x', 'y', 'z', logger.fatal'1', '2', '3'
register to commander
// demo/demo5.ts commander .version'v1.0.0' .arguments'[orz]' // register logger option to commanderlogger.registerToCommandercommander// or ColorfulChalkLogger.registerToCommander(commander) commander .option'-e, --encoding <encoding>', 'specified <filepath>\'s encoding' .parseprocess.argv logger.debug'A', 'B', 'C'logger.verbose'A', 'B', 'C'logger.info'a', 'b', 'c'logger.warn'X', 'Y', 'Z', logger.error'x', 'y', 'z', logger.fatal'1', '2', '3'
string format
// demo/demo6.ts logger.verbose'user({})', logger.error'bad argument ({}). error({})', , new Error'username is invalid' logger2.verbose'user(<>)', logger2.error'bad argument (<>). error({})', , new Error'username is invalid'