Python : Part 4 - Logging
Srinivasulu Paranduru
Posted on March 19, 2024
Logging facility for Python
##### Logging in Python - Table Of Contents
- Format 1
- Format 2
- This module defines functions and classes which implement a flexible event logging system for applications and libraries.
- To work with logging, need to logging module and basicConfig to be added
Format 1 - with out log file
import logging
logging.basicConfig(level=logging.DEBUG,format='%(asctime)s - %(levelname)s - %(message)s')
Format 2-with log file
import logging
logging.basicConfig(filename='mylog.txt',level=logging.DEBUG,format='%(asctime)s - %(levelname)s - %(message)s')
%s in a string format in Python
Basically, the % symbol is used with a large variety of data having many data types and configurations in Python.
Talking about %s, it is specifically used to perform concatenation of two or more strings together in Python. The %s allow us to format or place a string or numerical value within a given string. In simple language, the %s in Python is used to incorporate a given string within another string.
Example:
# Define a string value
str = "JavaTpoint!"
# using %s to appending string
print("Hello Python developers! Welcome to, %s!" % str)
Example : Buggy Factorial Program
Scenario :1
#fact.py
def factorial (n):
total = 1
for i in range(n+1):
total * = i
return total
print(factorial(5))
o/p : 0
Scenario :2
import logging
logging.basicConfig(level=logging.DEBUG,format='%(asctime)s - %(levelname)s - %(message)s')
#logging.basicConfig(filename='mylog.txt' level=logging.DEBUG,format='%(asctime)s - %(levelname)s - %(message)s')
#logging.disable(logging.CRITICAL) # it will disable all messages
# if specific messages to be disabled then try below
#logging.disable(logging.WARNING)
logging.debug('Start of program')
def factorial (n):
total = 1
for i in range(n+1):
#for i in range(1,n+1):
total *= i
logging.debug('i is %s, total is %s' % (i,total))
logging.debug('Return value is %s' % (total))
return total
print(factorial(5))
logging.debug('End of program')
o/p : 120
Log Levels
- debug(lowest)
- info
- warning
- error
- critical(highest)
Recap :
- The logging module lets you display logging messages.
- Log messages create a "breadcrumb trail" of what your program is doing.
- After calling logging.basicConfig() to set up logging, call logging.debug(‘This is the message') to create a log message.
- When done, you can disable the log messages with logging.disable(logging.CRITICAL)
- Don't use print() for log messages: It's hard to remove the mall when you're done debugging.
- The five log levels are: DEBUG, INFO, WARNING, ERROR, and CRITICAL.
- You can also log to a file instead of the screen with the filename keyword argument in the logging.basicConfig() function.
*References *: https://www.javatpoint.com/python-s-string-formatting#:~:text=Talking%20about%20%25s%2C%20it%20is,given%20string%20within%20another%20string.
Conclusion : Discussed how to use logging in python and used IDLE shell command for running the python code
💬 If you enjoyed reading this blog post and found it informative, please take a moment to share your thoughts by leaving a review and liking it 😀 and share this blog with ur friends and follow me in linkedin
Posted on March 19, 2024
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.