Fix Python – Using print statements only to debug

Question

Asked By – crazyaboutliv

I have been coding a lot in Python of late. And I have been working with data that I haven’t worked with before, using formulae never seen before and dealing with huge files. All this made me write a lot of print statements to verify if it’s all going right and identify the points of failure. But, generally, outputting so much information is not a good practice. How do I use the print statements only when I want to debug and let them be skipped when I don’t want them to be printed?

Now we will see solution for issue: Using print statements only to debug


Answer

The logging module has everything you could want. It may seem excessive at first, but only use the parts you need. I’d recommend using logging.basicConfig to toggle the logging level to stderr and the simple log methods, debug, info, warning, error and critical.

import logging, sys
logging.basicConfig(stream=sys.stderr, level=logging.DEBUG)
logging.debug('A debug message!')
logging.info('We processed %d records', len(processed_records))

This question is answered By – Matt Joiner

This answer is collected from stackoverflow and reviewed by FixPython community admins, is licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0