Metadata-Version: 2.0
Name: airbrake
Version: 1.2.0
Summary: Python SDK for airbrake.io
Home-page: https://github.com/airbrake/airbrake-python
Author: BK Box, Sam Stavinoha
Author-email: samuel.stavinoha@rackspace.com
License: Apache License, Version 2.0
Keywords: airbrake exceptions airbrake.io fff50fbd
Platform: UNKNOWN
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Topic :: Software Development
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: Implementation :: CPython
Requires-Dist: requests (>=2.8.1)

airbrake-python
===============

.. image:: http://f.cl.ly/items/3Z1A202C1U2j3E1O1N0n/python%2009.19.32.jpg
   :height: 484 px
   :width: 1100 px
   :scale: 50 %
   :alt: airbrakeman
   :align: right
   :target: https://airbrake.io/


`Airbrake <https://airbrake.io/>`__ integration for python that quickly
and easily plugs into your existing code.

.. code:: python

    import airbrake

    logger = airbrake.getLogger()

    try:
        1/0
    except Exception:
        logger.exception("Bad math.")

airbrake-python is used most effectively through its
`logging <http://docs.python.org/2/library/logging.html>`__ handler, and
uses the `Airbrake V3
API <https://help.airbrake.io/kb/api-2/notifier-api-v3>`__ for error
reporting.

install
-------

To install airbrake-python, run:

.. code:: bash

    $ pip install -U airbrake

setup
-----

The easiest way to get set up is with a few environment variables:

.. code:: bash

    export AIRBRAKE_API_KEY=*****
    export AIRBRAKE_PROJECT_ID=12345
    export AIRBRAKE_ENVIRONMENT=dev

and you're done!

Otherwise, you can instantiate your ``AirbrakeHandler`` by passing these
values as arguments to the ``getLogger()`` helper:

.. code:: python

    import airbrake

    logger = airbrake.getLogger(api_key=*****, project_id=12345)

    try:
        1/0
    except Exception:
        logger.exception("Bad math.")

adding the AirbrakeHandler to your existing logger
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. code:: python

    import logging

    import airbrake

    yourlogger = logging.getLogger(__name__)
    yourlogger.addHandler(airbrake.AirbrakeHandler())

*by default, the AirbrakeHandler only handles logs level ERROR (40)
and above*

giving your exceptions more context
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. code:: python

    import airbrake

    logger = airbrake.getLogger()

    def bake(**goods):
        try:
            temp = goods['temperature']
        except KeyError as exc:
            logger.error("No temperature defined!", extra=goods)

--------------

| The `airbrake.io <https://airbrake.io/>`__ docs used to implement
  airbrake-python are here:
| http://help.airbrake.io/kb/api-2/notifier-api-v3


