
本文共 2921 字,大约阅读时间需要 9 分钟。
���������TimedRotatingFileHandler���������������������������������������������
PermissionError: [WinError 32] ���������������������������������������������������������
������������������������������������������������������������������������������������������������������������������������������������������������������������������Django������������������������������������������������������������������
���������������������������������������������������������������������
class SafeFileHandler(FileHandler): def __init__(self, filename, mode="a", encoding=None, delay=0, suffix="%Y-%m-%d_%H"): if codecs is None: encoding = None current_time = time.strftime(suffix, time.localtime()) FileHandler.__init__(self, filename + "." + current_time, mode, encoding, delay) self.filename = os.fspath(filename) self.mode = mode self.encoding = encoding self.suffix = suffix self.suffix_time = current_time def emit(self, record): try: if self.check_base_filename(): self.build_base_filename() FileHandler.emit(self, record) except(KeyboardInterrupt, SystemExit): raise except: self.handleError(record) def check_base_filename(self): time_tuple = time.localtime() if self.suffix_time != time.strftime(self.suffix, time_tuple): return 1 if not os.path.exists(os.path.abspath(self.filename) + "." + self.suffix_time): return 1 return 0 def build_base_filename(self): if self.stream: self.stream.close() self.stream = None if self.suffix_time != "": index = self.baseFilename.find("." + self.suffix_time) if index == -1: index = self.baseFilename.rfind(".") self.baseFilename = self.baseFilename[:index] current_time_tuple = time.localtime() self.suffix_time = time.strftime(self.suffix, current_time_tuple) self.baseFilename = os.path.abspath(self.filename) + "." + self.suffix_time if not self.delay: self.stream = open(self.baseFilename, self.mode, encoding=self.encoding)
���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
threading.Lock
���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
发表评论
最新留言
关于作者
