Я создал сценарий регистрации в Python, который позволяет мне регистрировать ошибки, которые происходят в сценариях с инициализированным журналом.У меня есть конкретные ошибки, которые я хочу иметь возможность перехватить и отправить по электронной почте с помощью функции электронной почты, а затем остановить сценарий.Возможно ли это и если да, то как?Я перепробовал все, что мог думать.Мой код журнала выглядит следующим образом:
import logging
from logging.handlers import SMTPHandler
logger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)
formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
file_handler = logging.FileHandler('big_errors.log')
file_handler.setLevel(logging.DEBUG)
file_handler.setFormatter(formatter)
print_handler = logging.StreamHandler()
print_handler.setLevel(logging.DEBUG)
print_handler.setFormatter(formatter)
# added email functionality
email_list = ["Example@gmail.com"]
mail_handler = logging.handlers.SMTPHandler(
mailhost=('smtpmail1.mail-uk.loc', 25),
fromaddr="Example@gmail.co.uk",
toaddrs= email_list,
subject='ErrorTEST'
)
mail_handler.setFormatter(formatter)
logger.addHandler(file_handler)
logger.addHandler(mail_handler)
logger.addHandler(print_handler)
конкретная строка, которую я ищу для захвата,
('08s01' [Database] communication link failure (-4) (SQLFETCH)')
мой код имеет попытку, кроме блока, как я могу использовать регулярное выражение для поискаключевое слово, которое я ищу, а затем вызвать созданный мною журнал, чтобы отправить сообщение об ошибке?