Socket
Socket
Sign inDemoInstall

node-loggly-bulk

Package Overview
Dependencies
48
Maintainers
3
Versions
24
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.2.0 to 1.2.1

19

lib/loggly/client.js

@@ -8,3 +8,6 @@ /*

*/
//
// Setting constant value of EVENT_SIZE variable
//
var EVENT_SIZE = 1000 * 1000;
var events = require('events'),

@@ -27,2 +30,13 @@ util = require('util'),

//
// function to truncate message over 1 MB
//
function truncateLargeMessage(message) {
var maximumBytesAllowedToLoggly = EVENT_SIZE;
var bytesLengthOfLogMessage = Buffer.byteLength(message);
if(bytesLengthOfLogMessage > maximumBytesAllowedToLoggly) {
message = message.slice(0, maximumBytesAllowedToLoggly);
}
return message;
}
//
// function createClient (options)

@@ -61,2 +75,3 @@ // Creates a new instance of a Loggly client.

this.isBulk = options.isBulk || false;
this.bufferOptions = options.bufferOptions || {size: 500, retriesInMilliSeconds: 30 * 1000};
//

@@ -96,2 +111,3 @@ // Set the tags on this instance.

Loggly.prototype.log = function (msg, tags, callback) {
msg.message = truncateLargeMessage(msg.message)
if (!callback && typeof tags === 'function') {

@@ -126,2 +142,3 @@ callback = tags;

isBulk: this.isBulk,
bufferOptions: this.bufferOptions,
headers: {

@@ -128,0 +145,0 @@ host: this.host,

@@ -16,2 +16,13 @@ /*

//
// Variables for buffer array
//
var arrBufferedMsg = [],
timerFunctionForBufferedLogs = null;
//
// flag variable to validate authToken
//
var isValidToken = true;
var https = require('https'),

@@ -81,3 +92,4 @@ util = require('util'),

isBulk,
uri;
uri,
bufferOptions;

@@ -104,2 +116,3 @@ //

proxy = args[0].proxy;
bufferOptions = args[0].bufferOptions;
}

@@ -119,2 +132,14 @@ }

function onError(err) {
if(!isValidToken){
console.log(err);
return;
}
var arrayLogs = [];
if(isBulk) {
arrayLogs = requestOptions.body.split('\n');
} else {
arrayLogs.push(requestOptions.body);
}
storeLogs(arrayLogs);
if (!responded) {

@@ -132,2 +157,4 @@ responded = true;

var requestOptionsForBufferedLogs = JSON.parse(JSON.stringify(requestOptions))
if (auth) {

@@ -146,5 +173,6 @@ requestOptions.headers.authorization = 'Basic ' + new Buffer(auth.username + ':' + auth.password).toString('base64');

var statusCode = res.statusCode.toString();
if(statusCode === '403') isValidToken = false;
if (Object.keys(failCodes).indexOf(statusCode) !== -1) {
return onError((new Error('Loggly Error (' + statusCode + '): ' + failCodes[statusCode])));
}
}
success(res, body);

@@ -165,2 +193,3 @@ });

requestOptions.body = arrMsg.join('\n');
arrMsg.length = 0;
try {

@@ -172,2 +201,3 @@ request(requestOptions, function (err, res, body) {

var statusCode = res.statusCode.toString();
if(statusCode === '403') isValidToken = false;
if (Object.keys(failCodes).indexOf(statusCode) !== -1) {

@@ -182,10 +212,4 @@ return onError((new Error('Loggly Error (' + statusCode + '): ' + failCodes[statusCode])));

}
finally {
//
// Empty the array
//
arrMsg.length = 0;
}
}
if (isBulk === true) {
if (isBulk && isValidToken) {
if (timerFunction === null) {

@@ -201,5 +225,44 @@ timerFunction = setInterval(function () {

}
else {
else if(isValidToken) {
sendLogs();
}
//
// retries to send buffered logs to loggly in every 30 sec
//
if (timerFunctionForBufferedLogs === null) {
timerFunctionForBufferedLogs = setInterval(function () {
if (arrBufferedMsg.length) sendBufferdLogstoLoggly();
}, bufferOptions.retriesInMilliSeconds);
}
function sendBufferdLogstoLoggly() {
if (!arrBufferedMsg.length) return;
var arrayMessage = [];
var bulkModeBunch = arrSize;
var inputModeBunch = 1;
var logsInBunch = isBulk ? bulkModeBunch : inputModeBunch;
arrayMessage = arrBufferedMsg.slice(0, logsInBunch);
requestOptionsForBufferedLogs.body = isBulk ? arrayMessage.join('\n') : arrayMessage[0];
request(requestOptionsForBufferedLogs, function (err, res, body) {
if(err) return;
var statusCode = res.statusCode.toString();
if(statusCode === "200") {
arrBufferedMsg.splice(0, logsInBunch);
sendBufferdLogstoLoggly();
}
});
requestOptionsForBufferedLogs.body = '';
}
//
// This function will store logs into buffer
//
function storeLogs(logs) {
if (!logs.length) return;
var numberOfLogsToBeRemoved = (arrBufferedMsg.length + logs.length) - bufferOptions.size;
if (numberOfLogsToBeRemoved > 0) arrBufferedMsg = arrBufferedMsg.splice(numberOfLogsToBeRemoved);
arrBufferedMsg = arrBufferedMsg.concat(logs);
}
};

@@ -206,0 +269,0 @@ //

39

package.json
{
"name": "node-loggly-bulk",
"description": "A client implementation for Loggly cloud Logging-as-a-Service API",
"version": "1.2.0",
"version": "1.2.1",
"author": {

@@ -20,3 +20,3 @@ "name": "Charlie Robbins",

"dependencies": {
"request": "2.67.x",
"request": ">=2.76.0 <3.0.0",
"timespan": "2.3.x",

@@ -41,3 +41,3 @@ "json-stringify-safe": "5.0.x"

},
"gitHead": "eb81e212cbc6c20fcd4607a290d90e2156301b05",
"gitHead": "4fcdb4b5a02e3123b87baa74d79a8256b481cbb1",
"bugs": {

@@ -47,28 +47,35 @@ "url": "https://github.com/loggly/node-loggly-bulk/issues"

"homepage": "https://github.com/loggly/node-loggly-bulk#readme",
"_id": "node-loggly-bulk@1.1.1",
"_shasum": "8860d2fc5abe434112178ccfb3cd07cb6682f86b",
"_id": "node-loggly-bulk@1.1.3",
"_shasum": "a6adf86180b44ce40967549ed53cdc272a6e33d8",
"_from": "node-loggly-bulk@>=1.1.0 <1.2.0",
"_npmVersion": "2.15.5",
"_nodeVersion": "4.4.5",
"_npmVersion": "2.15.9",
"_nodeVersion": "4.6.0",
"_npmUser": {
"name": "psquickitjayant",
"email": "jayantvarshney018@gmail.com"
"name": "psqshweta",
"email": "shweta.jain@psquickit.com"
},
"dist": {
"shasum": "8860d2fc5abe434112178ccfb3cd07cb6682f86b",
"tarball": "https://registry.npmjs.org/node-loggly-bulk/-/node-loggly-bulk-1.1.1.tgz"
"shasum": "a6adf86180b44ce40967549ed53cdc272a6e33d8",
"tarball": "https://registry.npmjs.org/node-loggly-bulk/-/node-loggly-bulk-1.1.3.tgz"
},
"maintainers": [
{
"name": "loggly",
"email": "sjain@loggly.com"
},
{
"name": "psqshweta",
"email": "shweta.jain@psquickit.com"
},
{
"name": "psquickitjayant",
"email": "jayantvarshney018@gmail.com"
"email": "psurothiya@loggly.com"
}
],
"_npmOperationalInternal": {
"host": "packages-16-east.internal.npmjs.com",
"tmp": "tmp/node-loggly-bulk-1.1.1.tgz_1466092672467_0.38912156177684665"
"host": "packages-18-east.internal.npmjs.com",
"tmp": "tmp/node-loggly-bulk-1.1.3.tgz_1484912634118_0.8453252469189465"
},
"directories": {},
"_resolved": "https://registry.npmjs.org/node-loggly-bulk/-/node-loggly-bulk-1.1.1.tgz",
"readme": "ERROR: No README data found!"
"_resolved": "https://registry.npmjs.org/node-loggly-bulk/-/node-loggly-bulk-1.1.3.tgz"
}
SocketSocket SOC 2 Logo

Product

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc