I have a tcp server with Twisted, and each client has a log file. So I inherit from twisted.logger.Logger.
from twisted.logger import Logger, textFileLogObserver
from twisted.python.logfile import LogFile
class LALogger(Logger):
logger_root_path = os.path.join(sys.path[0], 'log')
def __init__(self, log_folder, log_file_name):
super().__init__(namespace='')
logger_path = os.path.join(self.logger_root_path, log_folder)
self.log_file = LogFile(log_file_name + '.log', logger_path,
rotateLength=1000000, maxRotatedFiles=5)
self.observer = textFileLogObserver(
self.log_file, timeFormat='[%Y-%m-%d %H:%M:%S]')
When the log file came large than 1000000, it should rotate. But sometimes cann't rename the log file. I guess I should close the log file before rotate. How should I do? Thank you.