RotatingFileHandler регистрирует журналы в неправильном порядке в последовательном файле - PullRequest
0 голосов
/ 01 ноября 2019

У меня есть файл с именем logger_config.py, в котором настроено ведение журнала RotatingFileHandler, в котором все журналы печатаются в файле email.log с размером 1 МБ, максимальное резервное копирование = 3.

Проблема в том, что журналы печатаютсяв файле email.log в неправильном порядке. Последние журналы должны быть в email.log, а старые - в email.log.1, email.log.2

-> email.log

-> email.log.1

-> email.log.2

Но иногда последние журналы печатаются в неправильном следующем порядке:

-> email.log.1

-> email.log

-> email.log.2

аналогичная проблема, у меня есть ссылка: выпуск

class LoggerConfig:

  def get_logger(self, logger_name):
    logger = logging.getLogger(logger_name)
    logger.setLevel(10)  #DEBUG MODE
    fh_formatter = logging.Formatter(
        '[%(asctime)s] - [%(filename)s - %(funcName)s() - %(lineno)d] - [%(levelname)s - %(message)s]')

    filehandler = RotatingFileHandler('email.log', mode='a', maxBytes=1, backupCount=3))
    filehandler.setFormatter(fh_formatter)
    filehandler.setLevel(10)  #DEBUG MODE
    logger.addHandler(filehandler)
    return logger

Два файла abc.py и xyz.py, в которые мы записываем журналы в файл email.log.

abc.py

from logger_config import LoggerConfig

logger = LoggerConfig().get_logger(__name__)

logger.info("Inside abc.py file")

xyz.py

from logger_config import LoggerConfig

logger = LoggerConfig().get_logger(__name__)

logger.info("Inside xyz.py file")
...