loggly-jslogger
Advanced tools
Comparing version 2.1.0 to 2.2.0
require('./src/loggly.tracker'); | ||
module.exports._LTracker = window._LTracker; | ||
module.exports.LogglyTracker = window.LogglyTracker; | ||
module.exports.LogglyTracker = window.LogglyTracker; |
{ | ||
"name": "loggly-jslogger", | ||
"version": "2.1.0", | ||
"version": "2.2.0", | ||
"description": "A Javascript client to send logs to Loggly.", | ||
@@ -15,10 +15,10 @@ "browser": "index.js", | ||
"loggly", | ||
"log" | ||
"log" | ||
], | ||
"license": "MIT", | ||
"devDependencies": { | ||
"bower": "^1.3.1", | ||
"grunt": "^0.4.4", | ||
"grunt-contrib-uglify": "^0.4.0" | ||
"bower": "^1.8.0", | ||
"grunt": "^1.0.1", | ||
"grunt-contrib-uglify": "^3.0.1" | ||
} | ||
} |
@@ -93,1 +93,8 @@ loggly-jslogger | ||
``` | ||
Build min and map file | ||
---------- | ||
You can build min and map file by using the command below: | ||
``` | ||
grunt uglify | ||
``` |
@@ -1,23 +0,23 @@ | ||
(function(window, document) { | ||
var LOGGLY_INPUT_PREFIX = 'http' + ( ('https:' === document.location.protocol ? 's' : '') ) + '://', | ||
LOGGLY_COLLECTOR_DOMAIN = 'logs-01.loggly.com', | ||
LOGGLY_SESSION_KEY = 'logglytrackingsession', | ||
LOGGLY_SESSION_KEY_LENGTH = LOGGLY_SESSION_KEY.length + 1, | ||
LOGGLY_PROXY_DOMAIN = 'loggly'; | ||
(function (window, document) { | ||
var LOGGLY_INPUT_PREFIX = 'http' + (('https:' === document.location.protocol ? 's' : '')) + '://', | ||
LOGGLY_COLLECTOR_DOMAIN = 'logs-01.loggly.com', | ||
LOGGLY_SESSION_KEY = 'logglytrackingsession', | ||
LOGGLY_SESSION_KEY_LENGTH = LOGGLY_SESSION_KEY.length + 1, | ||
LOGGLY_PROXY_DOMAIN = 'loggly'; | ||
function uuid() { | ||
// lifted from here -> http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript/2117523#2117523 | ||
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) { | ||
var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); | ||
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) { | ||
var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8); | ||
return v.toString(16); | ||
}); | ||
}); | ||
} | ||
function LogglyTracker() { | ||
this.key = false; | ||
this.sendConsoleErrors = false; | ||
this.sendConsoleErrors = false; | ||
this.tag = 'jslogger'; | ||
this.useDomainProxy = false; | ||
} | ||
function setKey(tracker, key) { | ||
@@ -28,8 +28,8 @@ tracker.key = key; | ||
} | ||
function setTag(tracker, tag){ | ||
tracker.tag = tag; | ||
} | ||
function setDomainProxy(tracker, useDomainProxy){ | ||
function setTag(tracker, tag) { | ||
tracker.tag = tag; | ||
} | ||
function setDomainProxy(tracker, useDomainProxy) { | ||
tracker.useDomainProxy = useDomainProxy; | ||
@@ -39,10 +39,10 @@ //refresh inputUrl value | ||
} | ||
function setSendConsoleError(tracker, sendConsoleErrors) { | ||
tracker.sendConsoleErrors = sendConsoleErrors; | ||
if(tracker.sendConsoleErrors === true){ | ||
tracker.sendConsoleErrors = sendConsoleErrors; | ||
if (tracker.sendConsoleErrors === true) { | ||
var _onerror = window.onerror; | ||
//send console error messages to Loggly | ||
window.onerror = function (msg, url, line, col){ | ||
window.onerror = function (msg, url, line, col, err){ | ||
tracker.push({ | ||
@@ -55,5 +55,6 @@ category: 'BrowserJsException', | ||
colno: col, | ||
stack: err ? err.stack : 'n/a', | ||
} | ||
}); | ||
if (_onerror && typeof _onerror === 'function') { | ||
@@ -65,33 +66,33 @@ _onerror.apply(window, arguments); | ||
} | ||
function setInputUrl(tracker) { | ||
if(tracker.useDomainProxy == true){ | ||
tracker.inputUrl = LOGGLY_INPUT_PREFIX | ||
+ window.location.host | ||
+ '/' | ||
+ LOGGLY_PROXY_DOMAIN | ||
+ '/inputs/' | ||
+ tracker.key | ||
+ '/tag/' | ||
+ tracker.tag; | ||
if (tracker.useDomainProxy == true) { | ||
tracker.inputUrl = LOGGLY_INPUT_PREFIX | ||
+ window.location.host | ||
+ '/' | ||
+ LOGGLY_PROXY_DOMAIN | ||
+ '/inputs/' | ||
+ tracker.key | ||
+ '/tag/' | ||
+ tracker.tag; | ||
} | ||
else{ | ||
tracker.inputUrl = LOGGLY_INPUT_PREFIX | ||
+ (tracker.logglyCollectorDomain || LOGGLY_COLLECTOR_DOMAIN) | ||
+ '/inputs/' | ||
+ tracker.key | ||
+ '/tag/' | ||
+ tracker.tag; | ||
else { | ||
tracker.inputUrl = LOGGLY_INPUT_PREFIX | ||
+ (tracker.logglyCollectorDomain || LOGGLY_COLLECTOR_DOMAIN) | ||
+ '/inputs/' | ||
+ tracker.key | ||
+ '/tag/' | ||
+ tracker.tag; | ||
} | ||
} | ||
LogglyTracker.prototype = { | ||
setSession: function(session_id) { | ||
if(session_id) { | ||
setSession: function (session_id) { | ||
if (session_id) { | ||
this.session_id = session_id; | ||
this.setCookie(this.session_id); | ||
} else if(!this.session_id) { | ||
} else if (!this.session_id) { | ||
this.session_id = this.readCookie(); | ||
if(!this.session_id) { | ||
if (!this.session_id) { | ||
this.session_id = uuid(); | ||
@@ -102,13 +103,13 @@ this.setCookie(this.session_id); | ||
}, | ||
push: function(data) { | ||
push: function (data) { | ||
var type = typeof data; | ||
if( !data || !(type === 'object' || type === 'string') ) { | ||
if (!data || !(type === 'object' || type === 'string')) { | ||
return; | ||
} | ||
var self = this; | ||
if(type === 'string') { | ||
if (type === 'string') { | ||
data = { | ||
@@ -118,25 +119,25 @@ 'text': data | ||
} else { | ||
if(data.logglyCollectorDomain) { | ||
if (data.logglyCollectorDomain) { | ||
self.logglyCollectorDomain = data.logglyCollectorDomain; | ||
return; | ||
} | ||
if(data.sendConsoleErrors !== undefined) { | ||
setSendConsoleError(self, data.sendConsoleErrors); | ||
if (data.sendConsoleErrors !== undefined) { | ||
setSendConsoleError(self, data.sendConsoleErrors); | ||
} | ||
if(data.tag) { | ||
if (data.tag) { | ||
setTag(self, data.tag); | ||
} | ||
if(data.useDomainProxy){ | ||
if (data.useDomainProxy) { | ||
setDomainProxy(self, data.useDomainProxy); | ||
} | ||
if(data.logglyKey) { | ||
if (data.logglyKey) { | ||
setKey(self, data.logglyKey); | ||
return; | ||
} | ||
if(data.session_id) { | ||
if (data.session_id) { | ||
self.setSession(data.session_id); | ||
@@ -146,22 +147,22 @@ return; | ||
} | ||
if(!self.key) { | ||
if (!self.key) { | ||
return; | ||
} | ||
self.track(data); | ||
}, | ||
track: function(data) { | ||
track: function (data) { | ||
// inject session id | ||
data.sessionId = this.session_id; | ||
try { | ||
//creating an asynchronous XMLHttpRequest | ||
var xmlHttp = new XMLHttpRequest(); | ||
xmlHttp.open('POST', this.inputUrl, true); //true for asynchronous request | ||
xmlHttp.setRequestHeader('Content-Type', 'text/plain'); | ||
xmlHttp.send(JSON.stringify(data)); | ||
xmlHttp.open('POST', this.inputUrl, true); //true for asynchronous request | ||
xmlHttp.setRequestHeader('Content-Type', 'text/plain'); | ||
xmlHttp.send(JSON.stringify(data)); | ||
} catch (ex) { | ||
@@ -177,8 +178,8 @@ if (window && window.console && typeof window.console.log === 'function') { | ||
*/ | ||
readCookie: function() { | ||
readCookie: function () { | ||
var cookie = document.cookie, | ||
i = cookie.indexOf(LOGGLY_SESSION_KEY); | ||
if(i < 0) { | ||
i = cookie.indexOf(LOGGLY_SESSION_KEY); | ||
if (i < 0) { | ||
return false; | ||
} else { | ||
} else { | ||
var end = cookie.indexOf(';', i + 1); | ||
@@ -189,23 +190,23 @@ end = end < 0 ? cookie.length : end; | ||
}, | ||
setCookie: function(value) { | ||
setCookie: function (value) { | ||
document.cookie = LOGGLY_SESSION_KEY + '=' + value; | ||
} | ||
}; | ||
var existing = window._LTracker; | ||
var tracker = new LogglyTracker(); | ||
if(existing && existing.length ) { | ||
if (existing && existing.length) { | ||
var i = 0, | ||
eLength = existing.length; | ||
for(i = 0; i < eLength; i++) { | ||
eLength = existing.length; | ||
for (i = 0; i < eLength; i++) { | ||
tracker.push(existing[i]); | ||
} | ||
} | ||
window._LTracker = tracker; // default global tracker | ||
window.LogglyTracker = LogglyTracker; // if others want to instantiate more than one tracker | ||
})(window, document); |
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
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
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
100
10022
5
174
1