Search code examples
pythonloggingpython-requestspython-loggingverbosity

How do I disable log messages from the Requests library?


By default, the Requests python library writes log messages to the console, along the lines of:

Starting new HTTP connection (1): example.com
http://example.com:80 "GET / HTTP/1.1" 200 606

I'm usually not interested in these messages, and would like to disable them. What would be the best way to silence those messages or decrease Requests' verbosity?


Solution

  • I found out how to configure requests's logging level, it's done via the standard logging module. I decided to configure it to not log messages unless they are at least warnings:

    import logging
    
    logging.getLogger("requests").setLevel(logging.WARNING)
    

    If you wish to apply this setting for the urllib3 library (typically used by requests) too, add the following:

    logging.getLogger("urllib3").setLevel(logging.WARNING)