Python logger не пишет логи на AWS - PullRequest
0 голосов
/ 30 ноября 2018

У меня есть веб-приложение, развернутое на гибком бобовом стебле AWS.Проще говоря, у меня есть два разных файла Python, которые записывают журналы в один и тот же файл журнала («creation.log»)

scriptA.py

    logger = logging.getLogger('LGB_Implementation')
    logger.setLevel(logging.DEBUG)
    logger_handler = logging.FileHandler('implementation.log')
    logger_formatter = logging.Formatter('%(name)s- %(asctime)s - %(levelname)s - %(message)s')
    logger_handler.setFormatter(logger_formatter)
    logger.addHandler(logger_handler)
    logger.info('Completed configuring logger() for back-end')

    def A():
        logger.info('Entered method A()', exc_info=1)
        logger.info('Exiting method A()', exc_info=1)

    def B():
        logger.info('Entered method B()', exc_info=1)
        logger.info('Exiting method B()', exc_info=1)

scriptB.py

logger = logging.getLogger('LGB_Implementation')
logger.setLevel(logging.DEBUG)
logger_handler = logging.FileHandler('implementation.log')
logger_formatter = logging.Formatter('%(name)s- %(asctime)s - %(levelname)s - %(message)s')
logger_handler.setFormatter(logger_formatter)
logger.addHandler(logger_handler)
logger.info('Completed configuring logger() for back-end')

def C():
    logger.info('Entered method C()', exc_info=1)
    logger.info('Exiting method C()', exc_info=1)

def D():
    logger.info('Entered method D()', exc_info=1)
    logger.info('Exiting method D()', exc_info=1)

При локальном тестировании регистратор работает точно так же, как и должен - журналы записываются в "creation.log", когда он обращается к методам A, B, C иD. Однако при работе в AWS EBS в файле "creation.log" есть только журналы метода A, даже когда мы переходим к методам B, C и D. Кто-нибудь знает, почему или как это исправить?

РЕДАКТИРОВАТЬ: Метод A является первым методом, к которому веб-приложение получило доступ при запуске.

...