We can track events in a software application, this is known as logging. Let’s start with a simple example, we will log a warning message.
As opposed to just printing the errors, logging can be configured to disable output or save to a file. This is a big advantage to simple printing the errors.
Complete Python Bootcamp: Go from zero to hero in Python
import logging # print a log message to the console. logging.warning('This is a warning!')
This will output:
WARNING:root:This is a warning!
We can easily output to a file:
import logging logging.basicConfig(filename='program.log',level=logging.DEBUG) logging.warning('An example message.') logging.warning('Another message')
The importance of a log message depends on the severity.
Level of severity
The logger module has several levels of severity. We set the level of severity using this line of code:
These are the levels of severity:
|DEBUG||Information only for problem diagnostics|
|INFO||The program is running as expected|
|WARNING||Indicate something went wrong|
|ERROR||The software will no longer be able to function|
|CRITICAL||Very serious error|
The default logging level is warning, which implies that other messages are ignored. If you want to print debug or info log messages you have to change the logging level like so:
import logging logging.basicConfig(level=logging.DEBUG) logging.debug('Debug message')
Time in log
You can enable time for logging using this line of code:
An example below:
import logging logging.basicConfig(format='%(asctime)s %(message)s', level=logging.DEBUG) logging.info('Logging app started') logging.warning('An example logging message.') logging.warning('Another log message')
2015-06-25 23:24:01,153 Logging app started 2015-06-25 23:24:01,153 An example message. 2015-06-25 23:24:01,153 Another message