Metadata-Version: 2.1
Name: ftw.raven
Version: 1.3.1
Summary: Plone integration for raven / sentry.
Home-page: https://github.com/4teamwork/ftw.raven
Author: 4teamwork AG
Author-email: mailto:info@4teamwork.ch
License: GPL2
Description: .. contents:: Table of Contents
        
        
        Purpose
        =======
        
        This package extends `raven`, the Sentry integration with
        a Plone integration wich is not logger based but hooks into
        the Zope exception handling.
        
        Be aware that there is already a standard `logging based Zope /
        Plone integration for raven <https://docs.getsentry.com/hosted/clients/python/integrations/zope/>`_. You should use the standard implementation unless you
        want the exception hook based integration.
        
        
        Installation and configuration
        ==============================
        
        - Add the `ftw.raven` package to your dependencies.
        - Configure the raven client with environment variables in buildout
        
        Example configuration for buildout:
        
        .. code:: ini
        
            [instance]
            eggs +=
                ftw.raven
            environment-vars +=
                RAVEN_DSN https://123:456@sentry.local/2
        
        
        Configuration-Test
        ==================
        
        You can test your configuration by visiting the view ``raven-test`` on
        any context as ``Manager``-user.
        This will trigger an exception which should appear in your sentry project.
        
        Note that it's possible that the trigger doesn't work on local test systems in
        some cases.
        
        In JavaScript you can call the function ``raven_test()`` in your javascript
        console, which will also trigger an exception.
        
        
        Release tracking
        ================
        
        When an exception is reported, the release can be sent along.
        A release can either be the version number of a released distribution
        (e.g. released on pypi) or the HEAD SHA of a project checkout when the
        app is not released on pypi.
        
        Version of a released distribution
        ----------------------------------
        
        For using a distribution version as release, the environment variable
        ``RAVEN_PROJECT_DIST`` must contain the name of the distribution, e.g.
        
        .. code:: ini
        
            [instance]
            environment-vars +=
                RAVEN_PROJECT_DIST my.project
        
        
        Git SHA of checkout
        -------------------
        
        Usually the buildout root is a checkout of the project, thus we need to
        configured the ``RAVEN_BUILDOUT_ROOT`` so that the git repository is found:
        
        .. code:: ini
        
            [instance]
            environment-vars +=
                RAVEN_BUILDOUT_ROOT ${buildout:directory}
        
        
        Ignored exceptions
        ==================
        
        By default, not all exceptions are reported, because some exceptions
        such as redirects or 404s are not errors but are implemented as exceptions.
        Without configuration, the exceptions ``NotFound``, ``Unauthorized``,
        ``Redirect`` and ``Intercepted``.
        
        Reporting of those exceptions can be enabled by with the environment variable
        ``RAVEN_ENABLE_EXCEPTIONS``:
        
        .. code::
        
            [instance]
            environment-vars +=
                RAVEN_ENABLE_EXCEPTIONS NotFound, Redirect
        
        If you need to disable custom exceptions, you can do that with the environment
        variable ``RAVEN_DISABLE_EXCEPTIONS``:
        
        .. code::
        
            [instance]
            environment-vars +=
                RAVEN_DISABLE_EXCEPTIONS UnimportantError
        
        
        Report JavaScript errors
        ========================
        
        In order to be able to report JavaScript-errors, the ``ftw.raven:default``
        Generic Setup profile must be installed, which registers a JavaScript
        including the raven library and the configuration.
        
        
        Additional tags
        ===============
        
        It is possible to report additional, predefined tags for a deployment.
        The tags may be directly declared as JSON in the environment variable
        ``RAVEN_TAGS`` or the variable ``RAVEN_TAGS_FILE`` may contain a path
        to a json-file.
        These two methods may be combined, and the respective dictionaries will
        be merged (with tags from the ``RAVEN_TAGS`` variable taking precedence).
        
        The JSON must be a one-level hash containing strings as keys and values.
        
        Examples:
        
        .. code::
        
            [instance]
            environment-vars +=
                RAVEN_TAGS {"deployment": "production"}
        
        .. code::
        
            [instance]
            environment-vars +=
                RAVEN_TAGS_FILE ${buildout:directory}/conf/raven_tags.json
        
        
        Links
        =====
        
        - Github: https://github.com/4teamwork/ftw.raven
        - Issues: https://github.com/4teamwork/ftw.raven/issues
        - Pypi: http://pypi.python.org/pypi/ftw.raven
        - Continuous integration: https://jenkins.4teamwork.ch/search?q=ftw.raven
        
        Copyright
        =========
        
        This package is copyright by `4teamwork <http://www.4teamwork.ch/>`_.
        
        ``ftw.raven`` is licensed under GNU General Public License, version 2.
        
        Changelog
        =========
        
        
        1.3.1 (2020-10-26)
        ------------------
        
        - Support ``threaded+requests+https`` dsn scheme in JS [Nachtalb]
        
        
        1.3.0 (2019-03-08)
        ------------------
        
        - Add support for Plone 5. [mbaechtold, jone]
        
        - Move raven ressources to plone bundle. [mathias.leimgruber]
        
        
        1.2.0 (2017-03-15)
        ------------------
        
        - Add ``RAVEN_DISABLE_EXCEPTIONS`` environment variable
          for allowing to disable reporting of custom exceptions. [jone]
        
        
        1.1.3 (2016-04-29)
        ------------------
        
        - Also ignore `Intercepted` exceptions from plone.caching by default.
          [lgraf]
        
        
        1.1.2 (2016-03-15)
        ------------------
        
        - Test if raven config is accessible in javascript integration.
          [Kevin Bieri]
        
        
        1.1.1 (2016-01-20)
        ------------------
        
        - Fix bug on errors ignored by error_log, such as NotFound. [jone]
        
        
        1.1.0 (2016-01-20)
        ------------------
        
        - Refactor JavaScript integration so that it is cacheable. [jone]
        
        - Report error_log number as tag. [jone]
        
        - Add a view ``raven-test`` and a JavaScript function ``raven_test()``
          for testing the raven configuration and connection. Both will throw
          an exception which will be reported to sentry. [jone]
        
        - New environment variables ``RAVEN_TAGS`` and ``RAVEN_TAGS_FILE`` for
          making it possible to attach additional static tags. [jone]
        
        
        1.0.2 (2016-01-15)
        ------------------
        
        - Fix IP reporting: prioritize X-Forwarded-For.
          [jone]
        
        
        1.0.1 (2016-01-15)
        ------------------
        
        - Report the client IP instead of the proxy IP.
          [jone]
        
        - Do not report ConflictError which are handled with a Retry,
          but those which failed after 3 retries.
          [jone]
        
        
        1.0.0 (2016-01-15)
        ------------------
        
        - Initial implementation
          [jone]
        
Keywords: ftw raven plone
Platform: UNKNOWN
Classifier: Environment :: Web Environment
Classifier: Framework :: Plone
Classifier: Framework :: Plone :: 4.3
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU General Public License (GPL)
Classifier: Programming Language :: Python
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Provides-Extra: tests
