3.0.0 • Published 6 years ago

log-sink v3.0.0

Weekly downloads
17
License
MIT
Repository
github
Last release
6 years ago

Log Sink

Build Status Dependency Status

A service for streaming, storage and query of log data.

This is the client-side implementation for both Nodejs and the browser. For the server-side implementation and server public API, see log-sink-server.

Install

npm install log-sink --save

Usage

var sink = require('log-sink'),
	fs = require('fs')

// Connect to log sink server using a secure connection
sink.connect('my-user', 'my-password', {
	host: 'localhost',
	port: 8018,
	secure: true,
	// If the server is using a self-signed certificate,
	// include it here
	ca: fs.readFileSync('keys/self-signed-cert.pem')
})
// In the browser, use:
sink.connect('my-user', 'my-password', 'wss://localhost:8019')

// Write
// sink.{debug,info,warn,error,fatal}(name, [message], [extra])
// If the connection is not ready yet, it will be buffered and
// executed when it gets ready
sink.info('readme', 'My first log', ['custom data', 17])
sink.error('readme', new Error('We had a problem'))

// Or avoid typing the required name every time
var logger = sink.bindName('readme')
logger.debug('Got here!')

// Streaming
sink.stream(function (err, stream) {
	if (err) throw err
	// stream is a ReadableStream in object mode
	stream.on('data', function (log) {
		console.log(log)
	})
	// call stream.stop() when you are done
})

// Querying
sink.query({
	level: {
		min: sink.LEVEL.WARN
	}
}, function (err, logs) {
	if (err) throw err
	console.log(logs)
})

The only difference between the use in Nodejs and browsers is the third connect parameter. In Nodejs, it's an object; for browser it's the WS url.

Browsers will connect using WebSocket and Nodejs will use TCP directly. Note that the ports are NOT the same.

Multiple connections

var sink = require('log-sink'),
	conn = new sink.Connection,
	conn2 = new sink.Connection

conn.connect('user', 'pass', options)
conn2.connect('user2', 'pass2', options2)

Log Sink

To understand more about log sink, read the doc on the server project

Docs

All public methods are described in the generated docs

3.0.0

6 years ago

2.4.1

6 years ago

2.4.0

6 years ago

2.3.0

6 years ago

2.2.0

9 years ago

2.1.1

9 years ago

2.1.0

9 years ago

2.0.0

9 years ago

1.2.2

9 years ago

1.2.1

9 years ago

1.2.0

9 years ago

1.1.1

9 years ago

1.1.0

9 years ago

1.0.0

9 years ago