Using Logging with github3.py — github3.py 4.0.1 documentation (original) (raw)

New in version 0.6.0.

The following example shows how to set up logging for github3.py. It is off by default in the library and will not pollute your logs.

import logging

import github3

Set up a file to have all the logs written to

file_handler = logging.FileHandler("github_script.log")

Send the logs to stderr as well

stream_handler = logging.StreamHandler()

Format the log output and include the log level's name and the time it was

generated

formatter = logging.Formatter("%(asctime)s %(levelname)s %(message)s")

Use that Formatter on both handlers

file_handler.setFormatter(formatter) stream_handler.setFormatter(formatter)

Get the logger used by github3.py internally by referencing its name

directly

logger = logging.getLogger("github3")

Add the handlers to it

logger.addHandler(file_handler) logger.addHandler(stream_handler)

Set the level which determines what you see

logger.setLevel(logging.DEBUG)

Make a library call and see the information posted

r = github3.repository("sigmavirus24", "github3.py") print("{0} - {0.html_url}".format(r))

One thing to note is that if you want more detailed information about what is happening while the requests are sent, you can do the following:

import logging urllib3 = logging.getLogger('requests.packages.urllib3')

And configure the logger for urllib3. Unfortunately, requests itself doesn’t provide any logging, so the best you can actually get is by configuringurllib3.

You will see messages about the following in the logs: