почему в модуле журналирования Python выдается ошибка Attribute? - PullRequest
0 голосов
/ 27 марта 2019

Я работаю с модулем регистрации в первый раз.Я был в состоянии написать программу в соответствии с моим требованием.Логика, написанная внутри try и исключением, также работает почти успешно, и журналы генерируются в файле журнала.Но по какой-то причине я вижу «AttributeError» на моей консоли IDE для всех «logging.info» и «logging.exception».Итак, для перекрестной проверки я закомментировал все эти местоположения, и на этот раз мой код работал без ошибок, но в файле журнала ничего не регистрировалось.Что было совершенно очевидно.Ниже приведена вся программа

import logging
from logging.handlers import TimedRotatingFileHandler

logger = logging.handlers.TimedRotatingFileHandler('amitesh.log', when='midnight', interval=1)
logger.suffix = '%y_%m_%d.log'
# create a logging format
LOGGING_MSG_FORMAT = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
logger.setFormatter(LOGGING_MSG_FORMAT)

LOGGING_DATE_FORMAT = '%d-%b-%y %H:%M:%S'

# create basic configuration
logging.basicConfig(level=logging.INFO, format=LOGGING_MSG_FORMAT, datefmt=LOGGING_DATE_FORMAT)


root_logger = logging.getLogger('')


# add the handlers to the logger
root_logger.addHandler(logger)
while True:
    print(" ")
    print("This is a Logging demo")
    print(" ")
    logging.info("new request came")
    print(" ")
    try:
        x = int(input("Enter the first number: "))
        y = int(input("Enter the second number: "))
        print(x / y)
    except ZeroDivisionError as msg:
        print("cannot divide with zero")
        logging.exception(msg)
        print(" ")
    except ValueError as msg:
        print("enter only integer value")
        logging.exception(msg)
        print(" ")
    logging.info("executed successfully")

print(" ")

Ниже приведено сообщение об ошибке с моей консоли IDE:

    return self._fmt.find(self.asctime_search) >= 0
AttributeError: 'Formatter' object has no attribute 'find'
Call stack:
  File "/Users/amitesh/PycharmProjects/Automation/Databases/DB_Conn.py", line 68, in <module>
    logging.info("new request came")
Message: 'new request came'
Arguments: ()

За последние 2 дня я безуспешно просматривал Интернет.Пожалуйста, помогите мне выяснить мои ошибки.

добавлено больше ошибок:

  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/logging/__init__.py", line 388, in usesTime
    return self._fmt.find(self.asctime_search) >= 0
AttributeError: 'Formatter' object has no attribute 'find'
Call stack:
  File "/Users/amitesh/PycharmProjects/Automation/Databases/DB_Conn.py", line 68, in <module>
    logging.info("new request came")
Message: 'new request came'
Arguments: ()

Спасибо.

1 Ответ

0 голосов
/ 27 марта 2019

Удален формат = LOGGING_MSG_FORMAT, LOGGING_MSG_FORMAT и определены значения внутри basicConfig с параметром «format» напрямую, поскольку параметр «format» принимает строку, а не тип Formatter.

...