161 lines
2.7 KiB
Markdown
161 lines
2.7 KiB
Markdown
|
# squeak [![Build Status](http://img.shields.io/travis/kevva/squeak.svg?style=flat)](https://travis-ci.org/kevva/squeak)
|
||
|
|
||
|
> A tiny stream log
|
||
|
|
||
|
![](https://cloud.githubusercontent.com/assets/709159/5165451/f0ca124e-73e4-11e4-8a49-9e278b7aff16.png)
|
||
|
|
||
|
|
||
|
## Install
|
||
|
|
||
|
```
|
||
|
$ npm install --save squeak
|
||
|
```
|
||
|
|
||
|
|
||
|
## Usage
|
||
|
|
||
|
```js
|
||
|
var Squeak = require('squeak');
|
||
|
var log = new Squeak()
|
||
|
.type('info')
|
||
|
.type('success', {color: 'green'})
|
||
|
.type('warn', {color: 'yellow'})
|
||
|
.type('error', {color: 'red'}, function () {
|
||
|
log.end();
|
||
|
process.exit(1);
|
||
|
});
|
||
|
|
||
|
log.info('this is a info message');
|
||
|
log.success('this is a success message');
|
||
|
log.warn('this is a warning');
|
||
|
log.error(new Error('this is an error').stack);
|
||
|
|
||
|
/*
|
||
|
info : this is a info message
|
||
|
success : this is a success message
|
||
|
warn : this is a warning
|
||
|
error : this is an error
|
||
|
at ChildProcess.exithandler (child_process.js:648:15)
|
||
|
at ChildProcess.emit (events.js:98:17)
|
||
|
*/
|
||
|
```
|
||
|
|
||
|
You can also customize the different types to use a custom prefix using the
|
||
|
`prefix` option:
|
||
|
|
||
|
```js
|
||
|
var Squeak = require('squeak');
|
||
|
var log = new Squeak({separator: ' '})
|
||
|
.type('success', {color: 'green', prefix: '✔'})
|
||
|
.type('warn', {color: 'yellow', prefix: '⚠'});
|
||
|
|
||
|
log.success('this is a success message');
|
||
|
log.warn('this is a warning');
|
||
|
|
||
|
/*
|
||
|
✔ this is a success message
|
||
|
⚠ this is a warning
|
||
|
*/
|
||
|
```
|
||
|
|
||
|
|
||
|
## API
|
||
|
|
||
|
### new Squeak(options)
|
||
|
|
||
|
Creates a new `Squeak` instance.
|
||
|
|
||
|
#### options.align
|
||
|
|
||
|
Type: `boolean`
|
||
|
Default: `true`
|
||
|
|
||
|
Whether to align the prefixes or not. E.g:
|
||
|
|
||
|
```sh
|
||
|
foo : hello
|
||
|
foobar : world
|
||
|
```
|
||
|
|
||
|
#### options.indent
|
||
|
|
||
|
Type: `number`
|
||
|
Default: `2`
|
||
|
|
||
|
Sets the indentation.
|
||
|
|
||
|
#### options.separator
|
||
|
|
||
|
Type: `string`
|
||
|
Default: ` : `
|
||
|
|
||
|
Customize the separator between the `prefix` and the message.
|
||
|
|
||
|
#### options.stream
|
||
|
|
||
|
Type: `stream`
|
||
|
Default: `process.stderr`
|
||
|
|
||
|
Which `stream` to write to.
|
||
|
|
||
|
### .write(args)
|
||
|
|
||
|
Type: `string`
|
||
|
|
||
|
Writes to `options.stream`, using `process.stderr` by default.
|
||
|
|
||
|
### .writeln(args)
|
||
|
|
||
|
Type: `string`
|
||
|
|
||
|
Same as `.write()` but with a new line.
|
||
|
|
||
|
### .writelpad(args)
|
||
|
|
||
|
Type: `string`
|
||
|
|
||
|
Same as `.write()` but with padding.
|
||
|
|
||
|
### .type(type, options, callback)
|
||
|
|
||
|
Adds a type.
|
||
|
|
||
|
#### type
|
||
|
|
||
|
Type: `string`
|
||
|
|
||
|
The name of the type. Will be used as `prefix` by default.
|
||
|
|
||
|
#### options.color
|
||
|
|
||
|
Type: `string`
|
||
|
|
||
|
Sets the prefix color. Supported colors can be found [here](https://github.com/sindresorhus/ansi-styles#colors).
|
||
|
|
||
|
#### options.prefix
|
||
|
|
||
|
Type: `string`
|
||
|
|
||
|
Sets the `type` prefix. Uses `type` by default.
|
||
|
|
||
|
#### callback
|
||
|
|
||
|
Type: `function`
|
||
|
|
||
|
An optional callback to be called when the `type` is called.
|
||
|
|
||
|
### .emit(event, data)
|
||
|
|
||
|
Emits an event.
|
||
|
|
||
|
### .end(callback)
|
||
|
|
||
|
Type: `function`
|
||
|
|
||
|
Writes a newline and executes an optional callback function.
|
||
|
|
||
|
|
||
|
## License
|
||
|
|
||
|
MIT © [Kevin Mårtensson](https://github.com/kevva)
|