Log errors via API

This commit is contained in:
Ruud committed 2012-01-14 11:46:53 +01:00
1 parent ab5d9e29d6
commit f1a682c026
2 files changed
+36 -1

No files matched your search

+20 -1
View File
@@ -1,5 +1,5 @@
from couchpotato.api import addApiView 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.logger import CPLog
from couchpotato.core.plugins.base import Plugin from couchpotato.core.plugins.base import Plugin
from couchpotato.environment import Env from couchpotato.environment import Env
@@ -14,6 +14,7 @@ class Logging(Plugin):
def __init__(self): def __init__(self):
addApiView('logging.get', self.get) addApiView('logging.get', self.get)
addApiView('logging.clear', self.clear) addApiView('logging.clear', self.clear)
addApiView('logging.log', self.log)
def get(self): def get(self):
@@ -67,3 +68,21 @@ class Logging(Plugin):
return jsonified({ return jsonified({
'success': True '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
})
+16
View File
@@ -52,6 +52,22 @@
'is_remote': false '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({ Quality.setup({
'profiles': {{ fireEvent('profile.all', single = True)|tojson|safe }}, 'profiles': {{ fireEvent('profile.all', single = True)|tojson|safe }},
'qualities': {{ fireEvent('quality.all', single = True)|tojson|safe }} 'qualities': {{ fireEvent('quality.all', single = True)|tojson|safe }}