In this article, we will learn how to have scripts and simple programs to write diagnostic information to log files.
Code #1 : Using the logging module to add logging to a simple program
- The five logging calls (critical(), error(), warning(), info(), debug()) represent different severity levels in decreasing order.
- The level argument to basicConfig() is a filter. All messages issued at a level lower than this setting will be ignored.
- The argument to each logging operation is a message string followed by zero or more arguments. When making the final log message, the % operator is used to format the message string using the supplied arguments.
If you run the code above, the contents of the file app.log will be as follow –
CRITICAL:root:Host www.python.org unknown ERROR:root:Could not find 'spam'
To change the output or level of output, change the parameters to the basicConfig() call as in the code given below –
Code #2 :
CRITICAL:2012-11-20 12:27:13, 595:Host www.python.org unknown ERROR:2012-11-20 12:27:13, 595:Could not find 'spam' WARNING:2012-11-20 12:27:13, 595:Feature is deprecated
The logging configuration is hardcoded directly into the program. To configure it from a configuration file, change the basicConfig() call to the following.
Code #3 :
Now make a configuration file that looks like this –
[loggers] keys=root [handlers] keys=defaultHandler [formatters] keys=defaultFormatter [logger_root] level=INFO handlers=defaultHandler qualname=root [handler_defaultHandler] class=FileHandler formatter=defaultFormatter args=('app.log', 'a') [formatter_defaultFormatter] format=%(levelname)s:%(name)s:%(message)s
If you want to make changes to the configuration, you can simply edit the file as appropriate.
Ignoring for the moment that there are about a million advanced configuration options for the logging module, this solution is quite sufficient for simple programs and scripts. Simply make sure to execute the
basicConfig() call prior to making any logging calls, and the program will generate logging output.
- Python | Add Logging to Python Libraries
- Logging in Python
- Python | Logging Test Output to a File
- Create an Exception Logging Decorator in Python
- Python VLC Instance - Unsetting Logging Callbacks
- Add a User in Linux using Python Script
- Python script to open a Google Map location on clipboard
- Run Python script from Node.js using child process spawn() method
- Autorun a Python script on windows startup
- Python | Accepting Script Input
- Python Script to Shutdown Computer
- Python Script to Restart Computer
- Python Script to Logout Computer
- Run python script from anywhere in linux
- Get directory of current Python script
- How to Run a Python Script
- Schedule a Python Script on PythonAnywhere
- Convert Python Script to .exe File
- Deleting a User in Linux using Python Script
- Python script to change MAC address of Linux machine
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.