class Customer: def __init__(self, name, email): self.name = name self.email = email def get_name(self): return self.name def get_email(self): return self.email class EmailSender: def __init__(self): pass def send_email(self, customer, message): # code to send email to customer pass
import logging logging.basicConfig(filename='example.log', level=logging.DEBUG) def divide(num1, num2): try: result = num1 / num2 return result except ZeroDivisionError: logging.exception('Attempt to divide by zero') return None result = divide(10, 2) print(result) result = divide(10, 0) print(result)In the above code, we are defining a 'divide' function which takes in two numbers and returns their quotient. If the second number is zero, a ZeroDivisionError is raised and we log the error using the 'logging' module. This is an example of ErrorLog as we are keeping track of errors using the logging system. The package library used in the above examples is the standard library in Python. The ClassCongregation principle is a concept in Object-Oriented programming and does not require any external package. The 'logging' module used in the ErrorLog example is part of the standard library in Python.