Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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

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)