Logging

This page provides logging tips to help you debug your applications.

Log Level

You can enable logging of key events in this library by configuring Python's standard logging module. You can set the logging level to one of the following:

  • CRITICAL (least amount of logging)
  • ERROR
  • WARNING
  • INFO
  • DEBUG (most amount of logging)

In the following code, the logging level is set to INFO, and the Google Translate API is called:

import logging
from googleapiclient.discovery import build

logger = logging.getLogger()
logger.setLevel(logging.INFO)

def main():
  service = build('translate', 'v2', developerKey='your_api_key')
  print service.translations().list(
      source='en',
      target='fr',
      q=['flower', 'car']
    ).execute()

if __name__ == '__main__':
  main()

The output of this code should print basic logging info:

INFO:root:URL being requested: https://www.googleapis.com/discovery/v1/apis/translate/v2/rest
INFO:root:URL being requested: https://www.googleapis.com/language/translate/v2?q=flower&q=car&source=en&alt=json&target=fr&key=your_api_key
{u'translations': [{u'translatedText': u'fleur'}, {u'translatedText': u'voiture'}]}

HTTP Traffic

For even more detailed logging you can set the debug level of the httplib2 module used by this library. The following code snippet enables logging of all HTTP request and response headers and bodies:

import httplib2
httplib2.debuglevel = 4