Apr-24-2022, 09:19 PM
I have problem with loggers. One function of my program is initiazing logger in specified directory. Second function is closing this logger in order to change name of direcotry to "directory_old" and creating new "directory", then logging should be initiaze again. It must be done this way because active logger locks directory. But I don't know how to close it or disable from another function, I know about ".close()" in loggers but in my case I have no idea how to use it in clear(self) function.
import logging
import os
class self:
def logger(self):
self.log = logging.getLogger()
self.log.handlers = []
self.log.setLevel(logging.DEBUG)
formatter = logging.Formatter('%(asctime)s | %(levelname)s | %(message)s')
loggingFilehandler = logging.FileHandler('directory\\logs.log')
loggingFilehandler.setLevel(logging.DEBUG)
loggingFilehandler.setFormatter(formatter)
self.log.addHandler(loggingFilehandler)
def clear(self):
#
self.log.addHandler.close()
os.rename("directory", "directory_old", )
# create new directory
os.mkdir("directory")
self.logger(self)
self.clear(self)
