fluent-logger
Advanced tools
Comparing version 2.6.1 to 2.6.2
@@ -37,3 +37,3 @@ 'use strict'; | ||
module.exports = exports = {}; | ||
exports.EventTime = EventTime; | ||
module.exports = {}; | ||
module.exports.EventTime = EventTime; |
@@ -8,3 +8,3 @@ 'use strict'; | ||
module.exports = { | ||
configure: function(config){ | ||
configure: function(config) { | ||
sender.end(); | ||
@@ -17,3 +17,3 @@ var tag = config; | ||
createFluentSender: function(tag, options){ | ||
createFluentSender: function(tag, options) { | ||
var _sender = new FluentSender(tag, options); | ||
@@ -37,5 +37,5 @@ _sender._setupErrorHandler(); | ||
var methods = ['emit', 'end', 'addListener', 'on', 'once', 'removeListener', 'removeAllListeners', 'setMaxListeners', 'getMaxListeners']; | ||
methods.forEach(function(attr, i){ | ||
module.exports[attr] = function(){ | ||
if( sender ){ | ||
methods.forEach((attr, i) => { | ||
module.exports[attr] = function() { | ||
if (sender) { | ||
return sender[attr].apply(sender, Array.prototype.slice.call(arguments)); | ||
@@ -42,0 +42,0 @@ } |
'use strict'; | ||
var util = require('util'); | ||
var EventEmitter = require('events').EventEmitter; | ||
@@ -16,3 +15,3 @@ var msgpack = require('msgpack-lite'); | ||
function FluentSender(tag_prefix, options){ | ||
function FluentSender(tag_prefix, options) { | ||
options = options || {}; | ||
@@ -59,3 +58,3 @@ this._eventMode = options.eventMode || 'Message'; // Message, PackedForward, CompressedPackedForward | ||
FluentSender.prototype.emit = function(/*[label] <data>, [timestamp], [callback] */){ | ||
FluentSender.prototype.emit = function(/*[label] <data>, [timestamp], [callback] */) { | ||
var label, data, timestamp, callback; | ||
@@ -104,4 +103,4 @@ var args = Array.prototype.slice.call(arguments); | ||
['addListener', 'on', 'once', 'removeListener', 'removeAllListeners', 'setMaxListeners', 'getMaxListeners'].forEach(function(attr, i){ | ||
FluentSender.prototype[attr] = function(){ | ||
['addListener', 'on', 'once', 'removeListener', 'removeAllListeners', 'setMaxListeners', 'getMaxListeners'].forEach((attr, i) => { | ||
FluentSender.prototype[attr] = function() { | ||
return this._eventEmitter[attr].apply(this._eventEmitter, Array.prototype.slice.call(arguments)); | ||
@@ -111,3 +110,3 @@ }; | ||
FluentSender.prototype.end = function(label, data, callback){ | ||
FluentSender.prototype.end = function(label, data, callback) { | ||
if ((label != null && data != null)) { | ||
@@ -150,3 +149,3 @@ this.emit(label, data, (err) => { | ||
FluentSender.prototype._makePacketItem = function(tag, time, data){ | ||
FluentSender.prototype._makePacketItem = function(tag, time, data) { | ||
if (typeof time !== 'number' && !(time instanceof EventTime)) { | ||
@@ -202,3 +201,3 @@ time = Math.floor((time ? time.getTime() : Date.now()) / this._timeResolution); | ||
FluentSender.prototype._connect = function(callback){ | ||
FluentSender.prototype._connect = function(callback) { | ||
if (this._connecting) { | ||
@@ -276,3 +275,3 @@ return; | ||
if (!heloStatus.succeeded) { | ||
this.internalLogger.error("Received invalid HELO message from " + this._socket.remoteAddress); | ||
this.internalLogger.error('Received invalid HELO message from ' + this._socket.remoteAddress); | ||
this._disconnect(); | ||
@@ -307,27 +306,32 @@ return; | ||
process.nextTick(() => { | ||
if (!this._socket) { | ||
this._flushingSendQueue = false; | ||
return; | ||
} | ||
this._waitToWrite(); | ||
}); | ||
}; | ||
if (this._socket.writable) { | ||
if (this._eventMode === 'Message') { | ||
FluentSender.prototype._waitToWrite = function() { | ||
if (!this._socket) { | ||
this._flushingSendQueue = false; | ||
return; | ||
} | ||
if (this._socket.writable) { | ||
if (this._eventMode === 'Message') { | ||
this._doFlushSendQueue(); | ||
} else { | ||
if (this._sendQueueSize >= this._sendQueueSizeLimit) { | ||
this._flushSendQueueTimeoutId && clearTimeout(this._flushSendQueueTimeoutId); | ||
this._doFlushSendQueue(); | ||
} else { | ||
if (this._sendQueueSize >= this._sendQueueSizeLimit) { | ||
this._flushSendQueueTimeoutId && clearTimeout(this._flushSendQueueTimeoutId); | ||
this._flushSendQueueTimeoutId && clearTimeout(this._flushSendQueueTimeoutId); | ||
this._flushSendQueueTimeoutId = setTimeout(() => { | ||
this._doFlushSendQueue(); | ||
} else { | ||
this._flushSendQueueTimeoutId && clearTimeout(this._flushSendQueueTimeoutId); | ||
this._flushSendQueueTimeoutId = setTimeout(() => { | ||
this._doFlushSendQueue(); | ||
}, this._flushInterval); | ||
} | ||
}, this._flushInterval); | ||
} | ||
} else { | ||
process.nextTick(waitToWrite); | ||
} | ||
}); | ||
}; | ||
} else { | ||
process.nextTick(() => { | ||
this._waitToWrite(); | ||
}); | ||
} | ||
} | ||
@@ -374,4 +378,6 @@ FluentSender.prototype._doFlushSendQueue = function(timeoutId) { | ||
if (response.ack !== options.chunk) { | ||
var error = new FluentLoggerError.ResponseError('ack in response and chunk id in sent data are different', | ||
{ ack: response.ack, chunk: options.chunk }); | ||
var error = new FluentLoggerError.ResponseError( | ||
'ack in response and chunk id in sent data are different', | ||
{ ack: response.ack, chunk: options.chunk } | ||
); | ||
callbacks.forEach((callback) => { | ||
@@ -385,3 +391,3 @@ this._handleEvent('error', error, callback); | ||
process.nextTick(() => { | ||
this._doFlushSendQueue(); // if socket is still available | ||
this._waitToWrite(); | ||
}); | ||
@@ -400,3 +406,3 @@ }); | ||
process.nextTick(() => { | ||
this._doFlushSendQueue(); // if socket is still available | ||
this._waitToWrite(); | ||
}); | ||
@@ -459,14 +465,14 @@ } | ||
var sharedKeyHexdigest = crypto.createHash('sha512') | ||
.update(this.sharedKeySalt) | ||
.update(this.security.clientHostname) | ||
.update(this.sharedKeyNonce) | ||
.update(this.security.sharedKey) | ||
.digest('hex'); | ||
.update(this.sharedKeySalt) | ||
.update(this.security.clientHostname) | ||
.update(this.sharedKeyNonce) | ||
.update(this.security.sharedKey) | ||
.digest('hex'); | ||
var ping = ['PING', this.security.clientHostname, this.sharedKeySalt, sharedKeyHexdigest]; | ||
if (Buffer.isBuffer(this.authentication) && Buffer.byteLength(this.authentication) !== 0) { | ||
var passwordHexDigest = crypto.createHash('sha512') | ||
.update(this.authentication) | ||
.update(this.security.username || '') | ||
.update(this.security.password || '') | ||
.digest('hex'); | ||
.update(this.authentication) | ||
.update(this.security.username || '') | ||
.update(this.security.password || '') | ||
.digest('hex'); | ||
ping.push(this.username, passwordHexDigest); | ||
@@ -507,7 +513,7 @@ } else { | ||
var clientsideHexdigest = crypto.createHash('sha512') | ||
.update(this.sharedKeySalt) | ||
.update(hostname) | ||
.update(this.sharedKeyNonce) | ||
.update(this.security.sharedKey) | ||
.digest('hex'); | ||
.update(this.sharedKeySalt) | ||
.update(hostname) | ||
.update(this.sharedKeyNonce) | ||
.update(this.security.sharedKey) | ||
.digest('hex'); | ||
if (sharedKeyHexdigest !== clientsideHexdigest) { | ||
@@ -556,3 +562,3 @@ return { succeeded: false, message: 'Sharedkey mismatch' }; | ||
module.exports = exports = {}; | ||
exports.FluentSender = FluentSender; | ||
module.exports = {}; | ||
module.exports.FluentSender = FluentSender; |
'use strict'; | ||
var net = require('net'); | ||
var fs = require('fs'); | ||
var msgpack = require('msgpack-lite'); | ||
@@ -17,6 +16,6 @@ var crypto = require('crypto'); | ||
this._server = net.createServer((socket) => { | ||
var clientKey = socket.remoteAddress + ":" + socket.remotePort; | ||
var clientKey = socket.remoteAddress + ':' + socket.remotePort; | ||
this._clients[clientKey] = socket; | ||
socket.on('end', () => { | ||
delete(this._clients[clientKey]); | ||
delete this._clients[clientKey]; | ||
}); | ||
@@ -29,3 +28,3 @@ var stream = msgpack.createDecodeStream(); | ||
if (authResult.succeeded) { | ||
this._state= 'established'; | ||
this._state = 'established'; | ||
} else { | ||
@@ -37,3 +36,2 @@ socket.end(); | ||
let options = null; | ||
let records = null; | ||
if (entries instanceof Buffer) { | ||
@@ -46,3 +44,3 @@ options = m[2]; | ||
s.on('data', (data) => { | ||
let time = data[0]; | ||
let _time = data[0]; | ||
let record = data[1]; | ||
@@ -100,5 +98,5 @@ this._received.push({ | ||
let options = { | ||
"nonce": nonce, | ||
"auth": this._options.security ? userAuthSalt : '', | ||
"keepalive": false | ||
'nonce': nonce, | ||
'auth': this._options.security ? userAuthSalt : '', | ||
'keepalive': false | ||
}; | ||
@@ -124,10 +122,10 @@ return ['HELO', options]; | ||
let sharedKeyHexDigest = m[3]; | ||
let username = m[4]; | ||
let _username = m[4]; | ||
let passwordDigest = m[5]; | ||
let serverSideDigest = crypto.createHash('sha512') | ||
.update(sharedKeySalt) | ||
.update(hostname) | ||
.update(this._nonce) | ||
.update(this._options.security.sharedKey) | ||
.digest('hex'); | ||
.update(sharedKeySalt) | ||
.update(hostname) | ||
.update(this._nonce) | ||
.update(this._options.security.sharedKey) | ||
.digest('hex'); | ||
if (sharedKeyHexDigest !== serverSideDigest) { | ||
@@ -138,6 +136,6 @@ return { succeeded: false, reason: 'shared key mismatch' }; | ||
let serverSidePasswordDigest = crypto.createHash('sha512') | ||
.update(this._userAuthSalt) | ||
.update(this._options.security.username) | ||
.update(this._options.security.password) | ||
.digest('hex'); | ||
.update(this._userAuthSalt) | ||
.update(this._options.security.username) | ||
.update(this._options.security.password) | ||
.digest('hex'); | ||
if (passwordDigest !== serverSidePasswordDigest) { | ||
@@ -162,7 +160,7 @@ return { succeeded: false, reason: 'username/password mismatch' }; | ||
let sharedKeyDigestHex = crypto.createHash('sha512') | ||
.update(authResult.sharedKeySalt) | ||
.update(this._options.security.serverHostname) | ||
.update(nonce) | ||
.update(sharedKey) | ||
.digest('hex'); | ||
.update(authResult.sharedKeySalt) | ||
.update(this._options.security.serverHostname) | ||
.update(nonce) | ||
.update(sharedKey) | ||
.digest('hex'); | ||
return ['PONG', true, '', this._options.security.serverHostname, sharedKeyDigestHex]; | ||
@@ -182,3 +180,3 @@ } else { | ||
MockFluentdServer.prototype.close = function(callback) { | ||
this._server.close(function() { | ||
this._server.close(() => { | ||
callback(); | ||
@@ -195,14 +193,14 @@ }); | ||
var server = new MockFluentdServer(options); | ||
server.listen(function() { | ||
callback(server, function(_callback) { | ||
// wait 100 ms to receive all messages and then close | ||
setTimeout(function() { | ||
var messages = server.messages; | ||
server.close(function() { | ||
_callback && _callback(messages); | ||
}); | ||
}, 100); | ||
}); | ||
server.listen(() => { | ||
callback(server, (_callback) => { | ||
// wait 100 ms to receive all messages and then close | ||
setTimeout(() => { | ||
var messages = server.messages; | ||
server.close(() => { | ||
_callback && _callback(messages); | ||
}); | ||
}, 100); | ||
}); | ||
}); | ||
} | ||
}; |
@@ -6,2 +6,3 @@ 'use strict'; | ||
/* eslint node/no-unpublished-require: ["error", {"allowModules": ["winston"]}] */ | ||
var sender = require('./sender'); | ||
@@ -17,3 +18,3 @@ var util = require('util'); | ||
} else { | ||
if (typeof(tag) === 'object') { | ||
if (typeof tag === 'object') { | ||
options = tag; | ||
@@ -56,2 +57,2 @@ tag = DEFAULT_TAG; | ||
fluentTransport.prototype.name = 'fluent'; | ||
exports.Transport = fluentTransport; | ||
module.exports.Transport = fluentTransport; |
{ | ||
"name": "fluent-logger", | ||
"version": "2.6.1", | ||
"version": "2.6.2", | ||
"main": "./lib/index.js", | ||
"scripts": { | ||
"test": "mocha -t 10000 --recursive" | ||
"test": "mocha -t 10000 --recursive", | ||
"lint": "eslint ." | ||
}, | ||
@@ -39,3 +40,5 @@ "author": { | ||
"mocha": "", | ||
"winston": "" | ||
"winston": "", | ||
"eslint": "^4.11.0", | ||
"eslint-plugin-node": "" | ||
}, | ||
@@ -42,0 +45,0 @@ "license": "Apache-2.0", |
@@ -131,6 +131,6 @@ # fluent-logger for Node.js | ||
}); | ||
logger.on('error', function(error) { | ||
logger.on('error', (error) => { | ||
console.log(error); | ||
}); | ||
logger.on('connect', function() { | ||
logger.on('connect', () => { | ||
console.log('connected!'); | ||
@@ -155,3 +155,4 @@ }); | ||
port: 24224, | ||
timeout: 3.0 | ||
timeout: 3.0, | ||
requireAckResponse: true // Add this option to wait response from Fluentd certainly | ||
}; | ||
@@ -163,4 +164,11 @@ var fluentTransport = require('fluent-logger').support.winstonTransport(); | ||
logger.on('logging', (transport, level, message, meta) => { | ||
if (meta.end && transport.sender && transport.sender.end) { | ||
transport.sender.end(); | ||
} | ||
}); | ||
logger.log('info', 'this log record is sent to fluent daemon'); | ||
logger.info('this log record is sent to fluent daemon'); | ||
logger.info('end of log message', { end: true }); | ||
``` | ||
@@ -173,2 +181,4 @@ | ||
```js | ||
'use strict'; | ||
const Console = require('console').Console; | ||
var sender = require('fluent-logger').createFluentSender('tag_prefix', { | ||
@@ -182,2 +192,3 @@ host: 'localhost', | ||
logger.log('this log record is sent to fluent daemon'); | ||
setTimeout(()=> sender.end(), 5000); | ||
``` | ||
@@ -184,0 +195,0 @@ |
'use strict'; | ||
/* globals describe, it */ | ||
/* eslint node/no-unpublished-require: ["error", {"allowModules": ["chai"]}] */ | ||
var expect = require('chai').expect; | ||
@@ -10,4 +12,4 @@ var EventTime = require('../lib/event-time').EventTime; | ||
describe('EventTime', function() { | ||
it('should equal to decoded value', function(done) { | ||
describe('EventTime', () => { | ||
it('should equal to decoded value', (done) => { | ||
var eventTime = EventTime.now(); | ||
@@ -19,3 +21,3 @@ var encoded = msgpack.encode(eventTime, { codec: codec }); | ||
}); | ||
it('should equal fromDate and fromTimestamp', function(done) { | ||
it('should equal fromDate and fromTimestamp', (done) => { | ||
var now = new Date(1489543720999); // 2017-03-15T02:08:40.999Z | ||
@@ -22,0 +24,0 @@ var timestamp = now.getTime(); |
'use strict'; | ||
/* globals describe, it */ | ||
/* eslint brace-style: ["error", "1tbs", {"allowSingleLine": true}] */ | ||
/* eslint no-unused-vars: ["error", {"args": "none"}] */ | ||
/* eslint node/no-unpublished-require: ["error", {"allowModules": ["async", "chai"]}] */ | ||
var expect = require('chai').expect; | ||
@@ -15,6 +19,6 @@ var sender = require('../lib/sender'); | ||
describe("FluentSender", function(){ | ||
describe('FluentSender', () => { | ||
it('should throw error', (done) => { | ||
try { | ||
let s = new sender.FluentSender('debug', { eventMode: 'Unknown' }); | ||
new sender.FluentSender('debug', { eventMode: 'Unknown' }); | ||
} catch (e) { | ||
@@ -26,17 +30,17 @@ expect(e.message).to.be.equal('Unknown event mode: Unknown'); | ||
it('should send records', function(done){ | ||
runServer({}, function(server, finish){ | ||
it('should send records', (done) => { | ||
runServer({}, (server, finish) => { | ||
var s1 = new sender.FluentSender('debug', { port: server.port }); | ||
var emits = []; | ||
function emit(k){ | ||
emits.push(function(done){ s1.emit('record', k, done); }); | ||
function emit(k) { | ||
emits.push((done) => { s1.emit('record', k, done); }); | ||
} | ||
for(var i=0; i<10; i++){ | ||
for (var i = 0; i < 10; i++) { | ||
emit({ number: i }); | ||
} | ||
emits.push(function(){ | ||
finish(function(data){ | ||
emits.push(() => { | ||
finish((data) => { | ||
expect(data.length).to.be.equal(10); | ||
for(var i=0; i<10; i++){ | ||
expect(data[i].tag).to.be.equal("debug.record"); | ||
for (var i = 0; i < 10; i++) { | ||
expect(data[i].tag).to.be.equal('debug.record'); | ||
expect(data[i].data.number).to.be.equal(i); | ||
@@ -51,11 +55,11 @@ } | ||
it('should emit connect event', function(done) { | ||
runServer({}, function(server, finish) { | ||
it('should emit connect event', (done) => { | ||
runServer({}, (server, finish) => { | ||
var s = new sender.FluentSender('debug', {port: server.port}); | ||
var called = false; | ||
s.on('connect', function() { | ||
s.on('connect', () => { | ||
called = true; | ||
}); | ||
s.emit({message: "1st message"}, function() { | ||
finish(function(data) { | ||
s.emit({message: '1st message'}, () => { | ||
finish((data) => { | ||
expect(called).to.equal(true); | ||
@@ -68,3 +72,3 @@ done(); | ||
it('should raise error when connection fails', function(done){ | ||
it('should raise error when connection fails', (done) => { | ||
var s = new sender.FluentSender('debug', { | ||
@@ -74,3 +78,3 @@ host: 'localhost', | ||
}); | ||
s.on('error', function(err){ | ||
s.on('error', (err) => { | ||
expect(err.code).to.be.equal('ECONNREFUSED'); | ||
@@ -82,3 +86,3 @@ done(); | ||
it('should log error when connection fails w/ internal logger', function(done) { | ||
it('should log error when connection fails w/ internal logger', (done) => { | ||
var logger = { | ||
@@ -113,9 +117,9 @@ buffer: { | ||
it('should assure the sequence.', function(done){ | ||
runServer({}, function(server, finish){ | ||
it('should assure the sequence.', (done) => { | ||
runServer({}, (server, finish) => { | ||
var s = new sender.FluentSender('debug', {port: server.port}); | ||
s.emit('1st record', { message: '1st data' }); | ||
s.emit('2nd record', { message: '2nd data' }); | ||
s.end('last record', { message: 'last data' }, function(){ | ||
finish(function(data){ | ||
s.end('last record', { message: 'last data' }, () => { | ||
finish((data) => { | ||
expect(data[0].tag).to.be.equal('debug.1st record'); | ||
@@ -133,4 +137,4 @@ expect(data[0].data.message).to.be.equal('1st data'); | ||
it('should allow to emit with a custom timestamp', function(done){ | ||
runServer({}, function(server, finish){ | ||
it('should allow to emit with a custom timestamp', (done) => { | ||
runServer({}, (server, finish) => { | ||
var s = new sender.FluentSender('debug', {port: server.port}); | ||
@@ -140,4 +144,4 @@ var timestamp = new Date(2222, 12, 4); | ||
s.emit("1st record", { message: "1st data" }, timestamp, function() { | ||
finish(function(data) { | ||
s.emit('1st record', { message: '1st data' }, timestamp, () => { | ||
finish((data) => { | ||
expect(data[0].time).to.be.equal(timestamp_seconds_since_epoch); | ||
@@ -150,9 +154,9 @@ done(); | ||
it('should allow to emit with a custom numeric timestamp', function(done){ | ||
runServer({}, function(server, finish){ | ||
it('should allow to emit with a custom numeric timestamp', (done) => { | ||
runServer({}, (server, finish) => { | ||
var s = new sender.FluentSender('debug', {port: server.port}); | ||
var timestamp = Math.floor(new Date().getTime() / 1000); | ||
s.emit("1st record", { message: "1st data" }, timestamp, function() { | ||
finish(function(data) { | ||
s.emit('1st record', { message: '1st data' }, timestamp, () => { | ||
finish((data) => { | ||
expect(data[0].time).to.be.equal(timestamp); | ||
@@ -165,9 +169,9 @@ done(); | ||
it('should allow to emit with a EventTime', function(done) { | ||
runServer({}, function(server, finish) { | ||
it('should allow to emit with a EventTime', (done) => { | ||
runServer({}, (server, finish) => { | ||
var s = new sender.FluentSender('debug', {port: server.port}); | ||
var eventTime = EventTime.now(); | ||
s.emit('1st record', { message: '1st data' }, eventTime, function() { | ||
finish(function(data) { | ||
s.emit('1st record', { message: '1st data' }, eventTime, () => { | ||
finish((data) => { | ||
var decoded = EventTime.unpack(data[0].time.buffer); | ||
@@ -181,12 +185,12 @@ expect(JSON.stringify(decoded)).to.equal(JSON.stringify(eventTime)); | ||
it('should resume the connection automatically and flush the queue', function(done){ | ||
it('should resume the connection automatically and flush the queue', (done) => { | ||
var s = new sender.FluentSender('debug'); | ||
s.emit('1st record', { message: '1st data' }); | ||
s.on('error', function(err){ | ||
s.on('error', (err) => { | ||
expect(err.code).to.be.equal('ECONNREFUSED'); | ||
runServer({}, function(server, finish){ | ||
runServer({}, (server, finish) => { | ||
s.port = server.port; | ||
s.emit('2nd record', { message: '2nd data' }); | ||
s.end('last record', { message: 'last data' }, function(){ | ||
finish(function(data){ | ||
s.end('last record', { message: 'last data' }, () => { | ||
finish((data) => { | ||
expect(data[0].tag).to.be.equal('debug.1st record'); | ||
@@ -205,15 +209,15 @@ expect(data[0].data.message).to.be.equal('1st data'); | ||
it('should reconnect when fluentd close the client socket suddenly', function(done){ | ||
runServer({}, function(server, finish){ | ||
it('should reconnect when fluentd close the client socket suddenly', (done) => { | ||
runServer({}, (server, finish) => { | ||
var s = new sender.FluentSender('debug', {port: server.port}); | ||
s.emit('foo', 'bar', function(){ | ||
s.emit('foo', 'bar', () => { | ||
// connected | ||
server.close(function(){ | ||
server.close(() => { | ||
// waiting for the server closing all client socket. | ||
(function waitForUnwritable(){ | ||
if( !(s._socket && s._socket.writable) ){ | ||
runServer({}, function(_server2, finish){ | ||
(function waitForUnwritable() { | ||
if (!(s._socket && s._socket.writable)) { | ||
runServer({}, (_server2, finish) => { | ||
s.port = _server2.port; // in actuall case, s.port does not need to be updated. | ||
s.emit('bar', { message: 'hoge' }, function(){ | ||
finish(function(data){ | ||
s.emit('bar', { message: 'hoge' }, () => { | ||
finish((data) => { | ||
expect(data[0].tag).to.be.equal('debug.bar'); | ||
@@ -225,4 +229,4 @@ expect(data[0].data.message).to.be.equal('hoge'); | ||
}); | ||
}else{ | ||
setTimeout(function(){ | ||
} else { | ||
setTimeout(() => { | ||
waitForUnwritable(); | ||
@@ -237,4 +241,4 @@ }, 100); | ||
it('should send records with requireAckResponse', function(done) { | ||
runServer({requireAckResponse: true}, function(server, finish) { | ||
it('should send records with requireAckResponse', (done) => { | ||
runServer({requireAckResponse: true}, (server, finish) => { | ||
var s1 = new sender.FluentSender('debug', { | ||
@@ -245,13 +249,13 @@ port: server.port, | ||
var emits = []; | ||
function emit(k){ | ||
emits.push(function(done){ s1.emit('record', k, done); }); | ||
function emit(k) { | ||
emits.push((done) => { s1.emit('record', k, done); }); | ||
} | ||
for (var i=0; i<10; i++) { | ||
for (var i = 0; i < 10; i++) { | ||
emit({ number: i }); | ||
} | ||
emits.push(function(){ | ||
finish(function(data){ | ||
emits.push(() => { | ||
finish((data) => { | ||
expect(data.length).to.be.equal(10); | ||
for(var i=0; i<10; i++){ | ||
expect(data[i].tag).to.be.equal("debug.record"); | ||
for (var i = 0; i < 10; i++) { | ||
expect(data[i].tag).to.be.equal('debug.record'); | ||
expect(data[i].data.number).to.be.equal(i); | ||
@@ -267,4 +271,4 @@ expect(data[i].options.chunk).to.be.equal(server.messages[i].options.chunk); | ||
it('should send records ackResponseTimeout', function(done) { | ||
runServer({requireAckResponse: false }, function(server, finish) { | ||
it('should send records ackResponseTimeout', (done) => { | ||
runServer({requireAckResponse: false }, (server, finish) => { | ||
var s1 = new sender.FluentSender('debug', { | ||
@@ -275,7 +279,7 @@ port: server.port, | ||
}); | ||
s1.on('response-timeout', function(error) { | ||
s1.on('response-timeout', (error) => { | ||
expect(error).to.be.equal('ack response timeout'); | ||
}); | ||
s1.emit('record', { number: 1 }); | ||
finish(function(data) { | ||
finish((data) => { | ||
expect(data.length).to.be.equal(1); | ||
@@ -287,3 +291,3 @@ done(); | ||
it('should set error handler', function(done){ | ||
it('should set error handler', (done) => { | ||
var s = new sender.FluentSender('debug', { | ||
@@ -358,3 +362,3 @@ reconnectInterval: 100 | ||
name: 'record and callback', | ||
args: [{ bar: 1 }, function cb(){ cb.called = true; }], | ||
args: [{ bar: 1 }, function cb() { cb.called = true; }], | ||
expect: { | ||
@@ -368,3 +372,3 @@ tag: 'debug', | ||
name: 'record, time and callback', | ||
args: [{ bar: 1 }, 12345, function cb(){ cb.called = true; }], | ||
args: [{ bar: 1 }, 12345, function cb() { cb.called = true; }], | ||
expect: { | ||
@@ -386,9 +390,9 @@ tag: 'debug', | ||
} | ||
].forEach(function(testCase) { | ||
it('should send records with '+testCase.name+' arguments', function(done){ | ||
runServer({}, function(server, finish){ | ||
].forEach((testCase) => { | ||
it('should send records with ' + testCase.name + ' arguments', (done) => { | ||
runServer({}, (server, finish) => { | ||
var s1 = new sender.FluentSender('debug', { port: server.port }); | ||
s1.emit.apply(s1, testCase.args); | ||
finish(function(data){ | ||
finish((data) => { | ||
expect(data[0].tag).to.be.equal(testCase.expect.tag); | ||
@@ -400,5 +404,5 @@ expect(data[0].data).to.be.deep.equal(testCase.expect.data); | ||
testCase.args.forEach(function(arg) { | ||
if (typeof arg === "function") { | ||
expect(arg.called, "callback must be called").to.be.true; | ||
testCase.args.forEach((arg) => { | ||
if (typeof arg === 'function') { | ||
expect(arg.called, 'callback must be called').to.be.true; | ||
} | ||
@@ -452,9 +456,9 @@ }); | ||
} | ||
].forEach(function(testCase) { | ||
it('should send records with '+testCase.name+' arguments without a default tag', function(done){ | ||
runServer({}, function(server, finish){ | ||
].forEach((testCase) => { | ||
it('should send records with ' + testCase.name + ' arguments without a default tag', (done) => { | ||
runServer({}, (server, finish) => { | ||
var s1 = new sender.FluentSender(null, { port: server.port }); | ||
s1.emit.apply(s1, testCase.args); | ||
finish(function(data){ | ||
finish((data) => { | ||
expect(data[0].tag).to.be.equal(testCase.expect.tag); | ||
@@ -466,5 +470,5 @@ expect(data[0].data).to.be.deep.equal(testCase.expect.data); | ||
testCase.args.forEach(function(arg) { | ||
if (typeof arg === "function") { | ||
expect(arg.called, "callback must be called").to.be.true; | ||
testCase.args.forEach((arg) => { | ||
if (typeof arg === 'function') { | ||
expect(arg.called, 'callback must be called').to.be.true; | ||
} | ||
@@ -493,3 +497,3 @@ }); | ||
name: 'record and callback', | ||
args: [{ bar: 1 }, function cb(){ cb.called = true; }] | ||
args: [{ bar: 1 }, function cb() { cb.called = true; }] | ||
}, | ||
@@ -499,3 +503,3 @@ | ||
name: 'record, time and callback', | ||
args: [{ bar: 1 }, 12345, function cb(){ cb.called = true; }] | ||
args: [{ bar: 1 }, 12345, function cb() { cb.called = true; }] | ||
}, | ||
@@ -507,7 +511,7 @@ | ||
} | ||
].forEach(function(testCase) { | ||
it('should not send records with '+testCase.name+' arguments without a default tag', function(done){ | ||
runServer({}, function(server, finish){ | ||
].forEach((testCase) => { | ||
it('should not send records with ' + testCase.name + ' arguments without a default tag', (done) => { | ||
runServer({}, (server, finish) => { | ||
var s1 = new sender.FluentSender(null, { port: server.port }); | ||
s1.on('error', function(error) { | ||
s1.on('error', (error) => { | ||
expect(error.name).to.be.equal('MissingTagError'); | ||
@@ -517,7 +521,7 @@ }); | ||
finish(function(data){ | ||
finish((data) => { | ||
expect(data.length).to.be.equal(0); | ||
testCase.args.forEach(function(arg) { | ||
if (typeof arg === "function") { | ||
expect(arg.called, "callback must be called").to.be.true; | ||
testCase.args.forEach((arg) => { | ||
if (typeof arg === 'function') { | ||
expect(arg.called, 'callback must be called').to.be.true; | ||
} | ||
@@ -533,10 +537,10 @@ }); | ||
it('should not send records is not object', function (done) { | ||
runServer({}, function (server, finish) { | ||
it('should not send records is not object', (done) => { | ||
runServer({}, (server, finish) => { | ||
var s1 = new sender.FluentSender(null, { port: server.port }); | ||
s1.on('error', function (error) { | ||
s1.on('error', (error) => { | ||
expect(error.name).to.be.equal('DataTypeError'); | ||
}); | ||
s1.emit('label', 'string'); | ||
finish(function(data) { | ||
finish((data) => { | ||
expect(data.length).to.be.equal(0); | ||
@@ -548,3 +552,3 @@ }); | ||
it('should set max listeners', function(done){ | ||
it('should set max listeners', (done) => { | ||
var s = new sender.FluentSender('debug'); | ||
@@ -564,13 +568,13 @@ if (EventEmitter.prototype.getMaxListeners) { | ||
// Internal behavior test. | ||
it('should not flush queue if existing connection is unavailable.', function(done){ | ||
runServer({}, function(server, finish){ | ||
it('should not flush queue if existing connection is unavailable.', (done) => { | ||
runServer({}, (server, finish) => { | ||
var s = new sender.FluentSender('debug', {port: server.port}); | ||
s.emit('1st record', { message: '1st data' }, function(){ | ||
s.emit('1st record', { message: '1st data' }, () => { | ||
s._disconnect(); | ||
s.emit('2nd record', { message: '2nd data' }, function(){ | ||
finish(function(data){ | ||
expect(data[0].tag).to.be.equal("debug.1st record"); | ||
expect(data[0].data.message).to.be.equal("1st data"); | ||
expect(data[1].tag).to.be.equal("debug.2nd record"); | ||
expect(data[1].data.message).to.be.equal("2nd data"); | ||
s.emit('2nd record', { message: '2nd data' }, () => { | ||
finish((data) => { | ||
expect(data[0].tag).to.be.equal('debug.1st record'); | ||
expect(data[0].data.message).to.be.equal('1st data'); | ||
expect(data[1].tag).to.be.equal('debug.2nd record'); | ||
expect(data[1].data.message).to.be.equal('2nd data'); | ||
done(); | ||
@@ -583,4 +587,4 @@ }); | ||
it('should write stream.', function(done) { | ||
runServer({}, function(server, finish) { | ||
it('should write stream.', (done) => { | ||
runServer({}, (server, finish) => { | ||
var s = new sender.FluentSender('debug', { port: server.port }); | ||
@@ -594,5 +598,5 @@ var ss = s.toStream('record'); | ||
pt.end(); | ||
ss.on('finish', function() { | ||
s.end(null, null, function() { | ||
finish(function(data) { | ||
ss.on('finish', () => { | ||
s.end(null, null, () => { | ||
finish((data) => { | ||
expect(data[0].data.message).to.be.equal('data1'); | ||
@@ -609,4 +613,4 @@ expect(data[1].data.message).to.be.equal('data2'); | ||
it('should process messages step by step on requireAckResponse=true', function(done) { | ||
runServer({ requireAckResponse: true }, function(server, finish) { | ||
it('should process messages step by step on requireAckResponse=true', (done) => { | ||
runServer({ requireAckResponse: true }, (server, finish) => { | ||
var s = new sender.FluentSender('debug', { | ||
@@ -619,4 +623,4 @@ port: server.port, | ||
var errors = []; | ||
s.on('error', function(err) { | ||
errors.push(count+': '+err); | ||
s.on('error', (err) => { | ||
errors.push(count + ': ' + err); | ||
}); | ||
@@ -623,0 +627,0 @@ var maxCount = 20; |
'use strict'; | ||
/* globals describe, it */ | ||
/* eslint node/no-unpublished-require: ["error", {"allowModules": ["async", "chai", "winston"]}] */ | ||
var expect = require('chai').expect; | ||
@@ -7,5 +9,5 @@ var winstonSupport = require('../lib/winston'); | ||
describe("winston", function(){ | ||
describe('name', function(){ | ||
it('should be "fluent"', function(done){ | ||
describe('winston', () => { | ||
describe('name', () => { | ||
it('should be "fluent"', (done) => { | ||
expect((new (winstonSupport.Transport)()).name).to.be.equal('fluent'); | ||
@@ -16,6 +18,6 @@ done(); | ||
describe('transport', function(){ | ||
describe('transport', () => { | ||
it('should send log records', function(done){ | ||
runServer({}, function(server, finish){ | ||
it('should send log records', (done) => { | ||
runServer({}, (server, finish) => { | ||
var logger = new (winston.Logger)({ | ||
@@ -29,4 +31,4 @@ transports: [ | ||
logger.info('foo %s', 'bar', {x: 1}); | ||
setTimeout(function(){ | ||
finish(function(data){ | ||
setTimeout(() => { | ||
finish((data) => { | ||
expect(data[0].tag).to.be.equal('debug'); | ||
@@ -33,0 +35,0 @@ expect(data[0].data).exist; |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
17
1760
286
0
108142
6