The Sentry CKAN extension allows to add a Sentry middleware to the CKAN and stack and optionally configure a Sentry log handler.
This extension builds on top of the previous work of:
- @noirbizarre on https://github.com/etalab/ckanext-sentry
- @rshk on https://github.com/opendatatrentino/ckanext-sentry
To install the extension, activate your virtualenv and run:
pip install ckanext-sentry
Alternative, you can install a development version with:
git clone https://github.com/okfn/ckanext-sentry.git cd ckanext-sentry python setup.py develop pip install -r requirements.txt
To activate the plugin, add sentry
to the ckan.plugins
key in your ini file:
ckan.plugins = sentry <other-plugins>
You must provide a Sentry DSN:
sentry.dsn = https://xxxxxx:xxxxxx@sentry.domain.com/1
You can see a full list of supported options for the Sentry client on the official Sentry documentation.
If you want to setup multiple environments, you can specify environment id:
sentry.environment = some_id
If you want Sentry to record your log messages, you can turn it on adding the following options:
sentry.configure_logging=True sentry.log_level=WARN
The default log level if not provided in the configuration is INFO.
All these configuration options can also be passed via environment variables:
SENTRY_DSN
orCKAN_SENTRY_DSN
CKAN_SENTRY_CONFIGURE_LOGGING
CKAN_SENTRY_LOG_LEVEL
The configuration also supports env vars named like the ckanext-envvars extension convention (eg CKAN___SENTRY__LOG_LEVEL
).