I am using python logger. The following is my code:
import os
import time
import datetime
import logging
class Logger :
def myLogger(self):
logger = logging.getLogger('ProvisioningPython')
logger.setLevel(logging.DEBUG)
now = datetime.datetime.now()
handler=logging.FileHandler('/root/credentials/Logs/ProvisioningPython'+ now.strftime("%Y-%m-%d") +'.log')
formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s')
handler.setFormatter(formatter)
logger.addHandler(handler)
return logger
The problem I have is that I get multiple entries in the log file for each logger.info call. How can I solve this?
Function
logging.getLogger()returns the same instance for a given name.The problem is that every time you call
myLogger(), it’s adding another handler to the instance, which causes the duplicate logs.Perhaps something like this?