Log errors via API
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
from couchpotato.api import addApiView
|
||||
from couchpotato.core.helpers.request import jsonified, getParam
|
||||
from couchpotato.core.helpers.request import jsonified, getParam, getParams
|
||||
from couchpotato.core.logger import CPLog
|
||||
from couchpotato.core.plugins.base import Plugin
|
||||
from couchpotato.environment import Env
|
||||
@@ -14,6 +14,7 @@ class Logging(Plugin):
|
||||
def __init__(self):
|
||||
addApiView('logging.get', self.get)
|
||||
addApiView('logging.clear', self.clear)
|
||||
addApiView('logging.log', self.log)
|
||||
|
||||
def get(self):
|
||||
|
||||
@@ -67,3 +68,21 @@ class Logging(Plugin):
|
||||
return jsonified({
|
||||
'success': True
|
||||
})
|
||||
|
||||
def log(self):
|
||||
|
||||
params = getParams()
|
||||
|
||||
try:
|
||||
log_message = 'API log: %s' % params
|
||||
try:
|
||||
getattr(log, params.get('type', 'error'))(log_message)
|
||||
except:
|
||||
log.error(log_message)
|
||||
except:
|
||||
log.error('Couldn\'t log via API: %s' % params)
|
||||
|
||||
|
||||
return jsonified({
|
||||
'success': True
|
||||
})
|
||||
|
||||
@@ -52,6 +52,22 @@
|
||||
'is_remote': false
|
||||
});
|
||||
|
||||
// Catch errors
|
||||
window.onerror = function(message, file, line){
|
||||
|
||||
Api.request('logging.log', {
|
||||
'data': {
|
||||
'type': 'error',
|
||||
'message': Browser.name + ' ' + Browser.version + ': \n' + message,
|
||||
'page': window.location.href,
|
||||
'file': file,
|
||||
'line': line
|
||||
}
|
||||
});
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
Quality.setup({
|
||||
'profiles': {{ fireEvent('profile.all', single = True)|tojson|safe }},
|
||||
'qualities': {{ fireEvent('quality.all', single = True)|tojson|safe }}
|
||||
|
||||
Reference in New Issue
Block a user