Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kevva/squeak
A tiny stream log
https://github.com/kevva/squeak
Last synced: 17 days ago
JSON representation
A tiny stream log
- Host: GitHub
- URL: https://github.com/kevva/squeak
- Owner: kevva
- License: mit
- Created: 2014-11-24T13:09:22.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2019-06-08T23:24:19.000Z (over 5 years ago)
- Last Synced: 2024-10-12T01:06:37.020Z (about 1 month ago)
- Language: JavaScript
- Size: 211 KB
- Stars: 54
- Watchers: 6
- Forks: 3
- Open Issues: 4
-
Metadata Files:
- Readme: readme.md
- License: license
Awesome Lists containing this project
README
# 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)