improve JS error logging with additional stuff
This commit is contained in:
parent
e0a957b3f6
commit
270c0a00e5
|
@ -647,14 +647,19 @@ class RPC extends Handler_Protected {
|
||||||
}
|
}
|
||||||
|
|
||||||
function log() {
|
function log() {
|
||||||
$logmsg = $this->dbh->escape_string($_REQUEST['logmsg']);
|
$msg = $this->dbh->escape_string($_REQUEST['msg']);
|
||||||
|
$file = $this->dbh->escape_string(basename($_REQUEST['file']));
|
||||||
|
$line = (int) $_REQUEST['line'];
|
||||||
|
$context = $this->dbh->escape_string($_REQUEST['context']);
|
||||||
|
|
||||||
if ($logmsg) {
|
if ($msg) {
|
||||||
Logger::get()->log_error(E_USER_WARNING,
|
Logger::get()->log_error(E_USER_WARNING,
|
||||||
$logmsg, '[client-js]', 0, false);
|
$msg, 'client-js:' . $file, $line, $context);
|
||||||
}
|
|
||||||
|
|
||||||
echo json_encode(array("message" => "HOST_ERROR_LOGGED"));
|
echo json_encode(array("message" => "HOST_ERROR_LOGGED"));
|
||||||
|
} else {
|
||||||
|
echo json_encode(array("error" => "MESSAGE_NOT_FOUND"));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,31 +32,32 @@ Array.prototype.remove = function(s) {
|
||||||
|
|
||||||
|
|
||||||
function report_error(message, filename, lineno, colno, error) {
|
function report_error(message, filename, lineno, colno, error) {
|
||||||
exception_error(error);
|
exception_error(error, null, filename, lineno);
|
||||||
}
|
}
|
||||||
|
|
||||||
function exception_error(e, e_compat) {
|
function exception_error(e, e_compat, filename, lineno, colno) {
|
||||||
if (typeof e == "string") e = e_compat;
|
if (typeof e == "string") e = e_compat;
|
||||||
|
|
||||||
if (!e) return; // no exception object, nothing to report.
|
if (!e) return; // no exception object, nothing to report.
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
console.error(e);
|
||||||
|
var msg = e.toString();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
new Ajax.Request("backend.php", {
|
new Ajax.Request("backend.php", {
|
||||||
parameters: {op: "rpc", method: "log", logmsg: msg},
|
parameters: {op: "rpc", method: "log",
|
||||||
|
file: e.fileName ? e.fileName : filename,
|
||||||
|
line: e.lineNumber ? e.lineNumber : lineno,
|
||||||
|
msg: msg, context: e.stack},
|
||||||
onComplete: function (transport) {
|
onComplete: function (transport) {
|
||||||
console.log(transport.responseText);
|
console.warn(transport.responseText);
|
||||||
} });
|
} });
|
||||||
|
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error("Exception while trying to log the error.", e);
|
console.error("Exception while trying to log the error.", e);
|
||||||
}
|
}
|
||||||
|
|
||||||
var msg = e.toString();
|
|
||||||
|
|
||||||
console.error(msg);
|
|
||||||
|
|
||||||
var content = "<div class='fatalError'><p>" + msg + "</p>";
|
var content = "<div class='fatalError'><p>" + msg + "</p>";
|
||||||
|
|
||||||
if (e.stack) {
|
if (e.stack) {
|
||||||
|
|
Loading…
Reference in New Issue