Logging is a powerful tool. It can be used for many different functions. For example, it can used in a legal situation as evidence for who has done what while using the application. It can be used to rebuild a database if the database is destroyed without a viable backup. It can also help a developer track down elusive errors when an application has gone to production.
You will need basic Python programming and SQL skills for this lab:
– [Certified Associate in Python Programming Certification](https://linuxacademy.com/cp/modules/view/id/470)
Learning Objectives
Successfully complete this lab by achieving the following learning objectives:
- Add Logging to tally.py
You should add logging to
tally.py
. Create a separate log file for each item. The file should be named<item-number>.log
. The log level should beinfo
and each log message should be date:level:message. Finally, log the final tally message.tally.py
:import logging def tally_votes(data): """ the example voting data and operations are in the __main__ section write code that will ask for user input for item number being voted on create a log file named <voting item>.log tally votes and log each vote using: tally = f"Item: {voting_item} Yes: {yes} No: {no}" return tally """ voting_item = input("What is the item number for this vote? ").strip() file_name = f"{voting_item}.log" logging.basicConfig( filename=file_name, format='%(asctime)s:%(levelname)s:%(message)s', level=logging.INFO) yes = 0 no = 0 for vote in data: if vote == 'y': yes += 1 else: no += 1 # log vote logging.info(vote) tally = f"Item: {voting_item} Yes: {yes} No: {no}" logging.info(tally) return tally if __name__ == "__main__": voting_data = ["y", "n", "y", "y", "y", "n"] tally = tally_votes(voting_data) print(tally)
- Review the Log File
Review the log file using
cat <logfile>
(replacing<logfile>
with whatever the file is called).Congratulations! You have shown that you can do basic logging.