tcp-log-client
Version:
stream and write tcp-log-server entries
49 lines (42 loc) • 1.55 kB
Markdown
Stream and write [tcp-log-server] entries. Reconnect automatically.
[tcp-log-server]: https://npmjs.com/packages/tcp-log-server
```javascript
var TCPLogClient = require('tcp-log-client')
var client = new TCPLogClient({
// Use these options for `require('net').connect(options)`.
server: {port: port},
// Enable TCP keepalive. Enabled by default.
keepAlive: true,
// Disable the Nagle algorithm. Disabled by default.
noDelay: true,
// Start reading from entry index 1. 1 by default.
from: 1,
// Stop trying to reconnect and fail after 5 attempts.
reconnect: {failAfter: 5}
})
.on('error', function (error) {
console.error(error)
})
.on('fail', function () {
console.error('Failed to reconnect.')
})
.once('ready', function () {
if (client.connected) {
client.write({example: 'entry'}, function (error, index) {
console.log('New entry index is %d', index)
// Permanently disconnect and end `client.readStream`.
client.destroy()
})
}
})
// Readable stream of log entries.
// Entries added with `client.write()` will be streamed, too.
client.readStream.on('data', function (chunk) {
console.log(chunk.index)
console.log(chunk.entry)
})
```
See also:
- [net documentation](https://nodejs.org/api/net.html#net_socket_connect_options_connectlistener) for `options.server`
- [reconnect-core](https://www.npmjs.com/package/reconnect-core) for `options.reconnect`
- [migrate-versioned-log](https://www.npmjs.com/package/migrate-versioned-log) for versioning log entries