You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
75 lines
2.0 KiB
75 lines
2.0 KiB
/* |
|
* Copyright 2012 OSBI Ltd |
|
* |
|
* Licensed under the Apache License, Version 2.0 (the "License"); |
|
* you may not use this file except in compliance with the License. |
|
* You may obtain a copy of the License at |
|
* |
|
* http://www.apache.org/licenses/LICENSE-2.0 |
|
* |
|
* Unless required by applicable law or agreed to in writing, software |
|
* distributed under the License is distributed on an "AS IS" BASIS, |
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
* See the License for the specific language governing permissions and |
|
* limitations under the License. |
|
*/ |
|
|
|
/** |
|
* Initialize logger |
|
*/ |
|
var logger = function(config) { |
|
this.url = config.url; |
|
this.log = function(data) { |
|
janky({ |
|
url: this.url, |
|
method: "post", |
|
data: data, |
|
error: function() { |
|
console.log("Could not reach telemetry server"); |
|
} |
|
}); |
|
}; |
|
}; |
|
|
|
if (Settings.ERROR_LOGGING) { |
|
window.Log = new logger({ |
|
url: Settings.TELEMETRY_SERVER + '/input/errors' |
|
}); |
|
|
|
/** |
|
* Log errors |
|
*/ |
|
|
|
window.defaultHandler = window.onerror; |
|
window.onerror = function(errorMsg, url, lineNumber) { |
|
if (lineNumber !== 0) { |
|
Log.log({ |
|
browser: navigator.userAgent, |
|
browserName: navigator.appCodeName, |
|
browserVersion: navigator.appVersion, |
|
message: errorMsg, |
|
file: url, |
|
lineNumber: lineNumber, |
|
timestamp: new Date(), |
|
version: Settings.VERSION, |
|
biplugin: Settings.BIPLUGIN |
|
}); |
|
|
|
console.error({ |
|
message: errorMsg, |
|
file: url, |
|
lineNumber: lineNumber, |
|
timestamp: new Date() |
|
}); |
|
|
|
if (defaultHandler) { |
|
return defaultHandler(errorMsg, url, lineNumber); |
|
} |
|
|
|
} |
|
|
|
|
|
|
|
}; |
|
|
|
} |