Socket
Socket
Sign inDemoInstall

fluent-logger

Package Overview
Dependencies
1
Maintainers
4
Versions
46
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 2.0.1 to 2.1.0

36

lib/sender.js

@@ -6,2 +6,3 @@ 'use strict';

var net = require('net');
var stream = require('stream');
var crypto = require('crypto');

@@ -230,4 +231,39 @@ var FluentLoggerError = require('./logger-error');

FluentSender.prototype.toStream = function(options) {
if (typeof options === 'string') {
options = {label: options};
} else {
options = options || {};
}
var label = options.label;
if (!label) {
throw new Error('label is needed');
}
var defaultEncoding = options.encoding || 'UTF-8';
var self = this;
var writable = new stream.Writable();
var dataString = '';
writable._write = function(chunk, encoding, callback) {
var dataArray = chunk.toString(defaultEncoding).split(/\n/);
function next() {
if (dataArray.length) {
dataString += dataArray.shift();
}
if (!dataArray.length) {
return process.nextTick(callback);
}
self.emit(label, dataString, function(err) {
if (err) {
return self._handleError(err, 'error', callback);
}
dataString = '';
next();
});
}
next();
};
return writable;
};
module.exports = exports = {};
exports.FluentSender = FluentSender;

4

package.json
{
"name": "fluent-logger",
"version": "2.0.1",
"version": "2.1.0",
"main": "./lib/index.js",
"scripts": {
"test": "./node_modules/.bin/mocha -t 10000 --recursive"
"test": "mocha -t 10000 --recursive"
},

@@ -8,0 +8,0 @@ "author": {

@@ -140,2 +140,18 @@ # fluent-logger for Node.js

### stream
Several libraries use stream as output.
```js
var sender = require('fluent-logger').createFluentSender('tag_prefix', {
host: 'localhost',
port: 24224,
timeout: 3.0,
reconnectInterval: 600000 // 10 minutes
});
var logger = new Console(sender.toStream('stdout'), sender.toStream('stderr'));
logger.log('this log record is sent to fluent daemon');
```
## Options

@@ -142,0 +158,0 @@

var expect = require('chai').expect;
var sender = require('../lib/sender');
var runServer = require('../lib/testHelper').runServer;
var stream = require('stream');
var async = require('async');

@@ -459,2 +460,27 @@ var EventEmitter = require('events').EventEmitter;

});
it('should write stream.', function(done) {
runServer({}, function(server, finish) {
var s = new sender.FluentSender('debug', { port: server.port });
var ss = s.toStream('record');
var pt = new stream.PassThrough();
pt.pipe(ss);
pt.push('data1\n');
pt.push('data2\ndata');
pt.push('3\ndata4\n');
pt.end();
ss.on('finish', function() {
s.end(null, null, function() {
finish(function(data) {
expect(data[0].data).to.be.equal('data1');
expect(data[1].data).to.be.equal('data2');
expect(data[2].data).to.be.equal('data3');
expect(data[3].data).to.be.equal('data4');
done();
});
});
});
});
});
});
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc