pythonloggingpython-logging

How to write to a file, using the logging Python module?


How can I use the logging module in Python to write to a file? Every time I try to use it, it just prints out the message.


Solution

  • An example of using logging.basicConfig rather than logging.fileHandler()

    logging.basicConfig(filename=logname,
                        filemode='a',
                        format='%(asctime)s,%(msecs)d %(name)s %(levelname)s %(message)s',
                        datefmt='%H:%M:%S',
                        level=logging.DEBUG)
    
    logging.info("Running Urban Planning")
    
    logger = logging.getLogger('urbanGUI')
    

    In order, the five parts do the following:

    1. set the output file (filename=logname)
    2. set it to append rather than overwrite (filemode='a')
    3. determine the format of the output message (format=...)
    4. determine the format of the output time (datefmt='%H:%M:%S')
    5. and determine the minimum message level it will accept (level=logging.DEBUG).