Logging in PRAW
===============

It is occasionally useful to observe the HTTP requests that PRAW is issuing. To
do so you have to configure and enable logging.

Add the following to your code to log everything available:

.. code-block:: python

   import logging

   handler = logging.StreamHandler()
   handler.setLevel(logging.DEBUG)
   for logger_name in ("praw", "prawcore"):
       logger = logging.getLogger(logger_name)
       logger.setLevel(logging.DEBUG)
       logger.addHandler(handler)


When properly configured, HTTP requests that are issued should produce output
similar to the following:

.. code-block:: text

   Fetching: GET https://oauth.reddit.com/api/v1/me
   Data: None
   Params: {'raw_json': 1}
   Response: 200 (876 bytes)
   
Furthermore, any API ratelimits from POST actions that are handled will produce
a log entry with a message similar to the following message:

.. code-block:: text

   Rate limit hit, sleeping for 5.5 seconds

For more information on logging, see :py:class:`logging.Logger`.
