добавление журналов с помощью 'filemode = a' не работает должным образом с fileHandler Python logger - PullRequest
0 голосов
/ 17 апреля 2019

Я хочу добавить журналы в два разных файла журнала, используя python logger fileHandler.

Итак, я создал 2 разных обработчика логгеров (messaging_logger & payment_logger), которые обрабатывают логирование в 2 файлах, а именно messaging.log и payment.log. Я хочу, чтобы при каждом запуске этого кода данные журнала, которые я пишу в writemsg () и writepayent (), добавлялись в соответствующий файл журнала. Итак, когда я запускаю код в первый раз, он правильно регистрирует данные. Затем, во второй раз, он не добавляет данные правильно в обоих файлах. Пожалуйста, посмотрите на код и вывод:

import logging

from logging import FileHandler
from logging import Formatter

LOG_FORMAT = (
            "%(asctime)s [%(levelname)s]: %(message)s")
LOG_LEVEL = logging.INFO

# messaging logger
MESSAGING_LOG_FILE = "messaging.log"


messaging_logger = logging.getLogger("messaging")
messaging_logger.setLevel(LOG_LEVEL)
```
messaging_logger_file_handler = FileHandler(MESSAGING_LOG_FILE,mode='a')
```
messaging_logger_file_handler.setLevel(LOG_LEVEL)
messaging_logger_file_handler.setFormatter(Formatter(LOG_FORMAT))
messaging_logger.addHandler(messaging_logger_file_handler)

# payments logger
PAYMENTS_LOG_FILE = "payments.log"
payments_logger = logging.getLogger("payments")

payments_logger.setLevel(LOG_LEVEL)
```
payments_file_handler = FileHandler(PAYMENTS_LOG_FILE,mode='a')
```
payments_file_handler.setLevel(LOG_LEVEL)
payments_file_handler.setFormatter(Formatter(LOG_FORMAT))
payments_logger.addHandler(payments_file_handler)

def writemsg():

    messaging_logger.info("Welcome to messages!")
    messaging_logger.info("This is message log!")

def writepayent():

    payments_logger.info("Welcome to payments!")
    payments_logger.info("This is paymentslog!")

writemsg()

writepayent()

Eg. Если я запускаю вышеуказанный код в Spyder IDE 2 раза:

Я ожидаю вывод в файл messaging.log как:

2019-04-16 16: 23: 28,759 [ИНФО]: Добро пожаловать в сообщения!

2019-04-16 16: 23: 28,762 [ИНФО]: Это журнал сообщений!

2019-04-16 16: 23: 51,460 [ИНФО]: Добро пожаловать в сообщения!

2019-04-16 16: 23: 51,461 [ИНФО]: Это журнал сообщений!

Фактический результат, который я получил:

2019-04-16 16: 30: 44,720 [ИНФО]: Добро пожаловать в сообщения!

2019-04-16 16: 30: 44,720 [ИНФО]: Добро пожаловать в сообщения!

2019-04-16 16: 30: 44,730 [ИНФО]: Это журнал сообщений!

2019-04-16 16: 30: 44,730 [ИНФО]: Это журнал сообщений!

Аналогичное наблюдение для payment.log

...