Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jojax/django-js-error-hook
A simple Django app, for logging Javascript client side errors
https://github.com/jojax/django-js-error-hook
Last synced: 3 months ago
JSON representation
A simple Django app, for logging Javascript client side errors
- Host: GitHub
- URL: https://github.com/jojax/django-js-error-hook
- Owner: jojax
- License: other
- Created: 2012-09-04T15:34:32.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2022-10-17T15:59:12.000Z (about 2 years ago)
- Last Synced: 2024-07-18T10:18:15.168Z (5 months ago)
- Language: Python
- Size: 85.9 KB
- Stars: 23
- Watchers: 5
- Forks: 15
- Open Issues: 2
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGELOG
Awesome Lists containing this project
README
#######
INSTALL
#######To run the demo project for testing::
$ git clone git://github.com/jojax/django-js-error-hook.git
$ cd django-js-error-hook
$ virtualenv env --python=python3
$ source env/bin/activate
(env) $ pip install -e .
(env) $ pip install -e demo
(env) $ demo migrateRun the server::
(env) $ demo runserver
Then access: http://localhost:8000/ - the JavaScript error will be logged in your console.
To install the project in production::
$ pip install django-js-error-hook
Add django-js-error-hook to your INSTALLED_APPS settings::
INSTALLED_APPS = (
...
'django.contrib.staticfiles',
'django_js_error_hook',
...
)If you want to log the error in the console for development::
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'filters': {
'require_debug_false': {
'()': 'django.utils.log.RequireDebugFalse'
}
},
'formatters': {
'verbose': {
'format': '%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s'
},
'simple': {
'format': '\033[22;32m%(levelname)s\033[0;0m %(message)s'
},
},
'handlers': {
'mail_admins': {
'level': 'ERROR',
'filters': ['require_debug_false'],
'class': 'django.utils.log.AdminEmailHandler'
},
'console': {
'level': 'DEBUG',
'class': 'logging.StreamHandler',
'formatter': 'simple'
},
},
'loggers': {
'django.request': {
'handlers': ['mail_admins'],
'level': 'ERROR',
'propagate': True,
},
'javascript_error': {
'handlers': ['mail_admins', 'console'],
'level': 'ERROR',
'propagate': True,
},
}
}By default the logger is called "javascript_error", if you want you can define ``JAVASCRIPT_ERROR_ID`` in your settings::
JAVASCRIPT_ERROR_ID = ''
The view will do csrf validation - if for some reason it doesn't work, set ``JAVASCRIPT_ERROR_CSRF_EXEMPT`` to ``True`` in your settings.
Then install the urls::
urlpatterns = patterns('',
...
url(r'^js_error_hook/', include('django_js_error_hook.urls')),
...
)In your template, simply add the js_error_hook script::
window.djangoJSErrorHandlerUrl = "{% url 'js-error-handler' %}"
Now every JavaScript error will be logged in your logging error stream. (Mail, Sentry, ...)
Have fun and feel free to fork us and give us feedbacks!
###########
DEVELOPMENT
###########
When writing for this app you can run `tox `_ which will test the project
against various versions of Python and Django:pip install tox
tox