# salt.log_handlers.sentry_mod

## Sentry Logging Handler

Added in version 0.17.0.

This module provides a Sentry logging handler. Sentry is an open source error tracking platform that provides deep context about exceptions that happen in production. Details about stack traces along with the context variables available at the time of the exception are easily browsable and filterable from the online interface. For more details please see Sentry.

Note

The Raven library needs to be installed on the system for this logging handler to be available.

Configuring the python Sentry client, Raven, should be done under the `sentry_handler` configuration key. Additional context may be provided for corresponding grain item(s). At the bare minimum, you need to define the DSN. As an example:

    sentry_handler:
      dsn: https://pub-key:secret-key@app.getsentry.com/app-id

More complex configurations can be achieved, for example:

    sentry_handler:
      servers:
        - https://sentry.example.com
        - http://192.168.1.1
      project: app-id
      public_key: deadbeefdeadbeefdeadbeefdeadbeef
      secret_key: beefdeadbeefdeadbeefdeadbeefdead
      context:
        - os
        - master
        - saltversion
        - cpuarch
        - ec2.tags.environment

Note

The `public_key` and `secret_key` variables are not supported with Sentry > 3.0. The DSN key should be used instead.

All the client configuration keys are supported, please see the Raven client documentation.

The default logging level for the sentry handler is `ERROR`. If you wish to define a different one, define `log_level` under the `sentry_handler` configuration key:

    sentry_handler:
      dsn: https://pub-key:secret-key@app.getsentry.com/app-id
      log_level: warning

The available log levels are those also available for the salt `cli` tools and configuration; `salt --help` should give you the required information.

### Threaded Transports

Raven's documents rightly suggest using its threaded transport for critical applications. However, don't forget that if you start having troubles with Salt after enabling the threaded transport, please try switching to a non-threaded transport to see if that fixes your problem.