diff --git a/data/interfaces/default/js/script.js b/data/interfaces/default/js/script.js index 1c416319..9f3ff621 100644 --- a/data/interfaces/default/js/script.js +++ b/data/interfaces/default/js/script.js @@ -391,3 +391,16 @@ function clearSearchButton(tableName, table) { table.search('').draw(); }); } + +// Taken from https://github.com/Hellowlol/HTPC-Manager +window.onerror = function (message, file, line) { + var e = { + 'page': window.location.href, + 'message': message, + 'file': file, + 'line': line + }; + + $.post("log_js_errors", e, function (data) { + }); +}; \ No newline at end of file diff --git a/plexpy/webserve.py b/plexpy/webserve.py index 21213ed7..b3cbd12e 100644 --- a/plexpy/webserve.py +++ b/plexpy/webserve.py @@ -1081,7 +1081,14 @@ class WebInterface(object): logger.debug(u"If you read this message, debug logging is available") raise cherrypy.HTTPRedirect("logs") - + @cherrypy.expose + def log_js_errors(self, page, message, file, line): + """ Logs javascript errors from the web interface. """ + logger.error(u"WebUI :: /%s : %s. (%s:%s)" % (page.rpartition('/')[-1], + message, + file.rpartition('/')[-1].partition('?')[0], + line)) + return True ##### Settings #####