pythonpython-decoratorsrollbar

Is there a better way to use rollbar error reporting with flask?


I just came across rollbar and wanted to include it in my Python project.

This is the standard way in which I am told to implement rollbar from the website.

import rollbar

rollbar.init('KEY')
try:
    a = s
except:
    rollbar.report_exc_info()

Is there a better way to implement this without going through all my try except blocks and replacing them with rollbar.report_exc_info()

Can there be a decorator implementation for this? My current project is a Flask app that provides API's to end users.


Solution

  • Here's an example for rollbar integration in Flask apps.

    https://github.com/rollbar/rollbar-flask-example/blob/master/hello.py

    @app.before_first_request
    def init_rollbar():
        """init rollbar module"""
        rollbar.init(
            # access token for the demo app: https://rollbar.com/demo
            'fc316ac1f7404dc28af26d5baed1416c',
            # environment name
            'flasktest',
            # server root directory, makes tracebacks prettier
            root=os.path.dirname(os.path.realpath(__file__)),
            # flask already sets up logging
            allow_logging_basic_config=False)
    
        # send exceptions from `app` to rollbar, using flask's signal system.
        got_request_exception.connect(rollbar.contrib.flask.report_exception, app)