import logging import logging.handlers #logging.thread=None # this line also doesn't solve the problem class LoggingExample: def __init__(self): self.refresh() def refresh(self): self.logger = logging.getLogger('Example') formatter = logging.Formatter('%(asctime)s %(module)s %(lineno)d %(levelname)s %(message)s') self.rotatingFileLogHandler=logging.handlers.RotatingFileHandler("C:\log.txt",'a',200000,5) self.logger.setLevel(logging.INFO) self.rotatingFileLogHandler.setFormatter(formatter) self.logger.addHandler(self.rotatingFileLogHandler) self.logger.info("Logging started") log = LoggingExample() for i in range(0,5000000): log.refresh() # if I comment out this line, it works (strange, isn't it) log.logger.info(" I am line number "+str(i)) sys.exit(0)