log-sink

3.0.0 • Public • Published

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

Readme

Keywords

Package Sidebar

Install

npm i log-sink

Weekly Downloads

26

Version

3.0.0

License

MIT

Unpacked Size

39.1 kB

Total Files

15

Last publish

Collaborators

  • clubedaentrega
  • sitegui