Python множественная регистрация - объединить журнал по электронной почте + сохранить в файл - PullRequest
0 голосов
/ 15 октября 2018

В настоящее время я использую ведение журнала, которое отправляет любую ошибку по электронной почте.

#EMAIL AN ERROR
logging.getLogger('googleapiclient.discovery').setLevel(logging.WARNING)
smtp_handler = logging.handlers.SMTPHandler(mailhost=(config.EMAIL_HOST, config.EMAIL_PORT),
                                            fromaddr=config.EMAIL_FROM, 
                                            toaddrs=config.EMAIL_TO, 
                                            subject=config.EMAIL_SUBJECT) 
logger = logging.getLogger()
logger.addHandler(smtp_handler)

Как правильно добавить дополнительный раздел ведения журнала, при котором все сообщения logger.info("SAMPLE") будут сохранены в файле журнала, который будетв той же папке, что и скрипты Python?

Это basicConfig, который я пытаюсь использовать, но не знаю, как объединить ошибки регистрации в электронную почту и logger.info () сохранить в файл?

#LOGGING TO THE FILE
logging.basicConfig(filename=config.LOG_FILE,
                            filemode='w',
                            format='%(asctime)s,%(msecs)d %(name)s %(levelname)s %(message)s',
                            datefmt='%H:%M:%S',
                            level=logging.INFO)

Я ищу:

1) Все logger.info () будут сохранены в файл, НО НЕ ПОЛУЧЕНЫ.

2) Предупреждения + будут отправлены на адрес электронной почтыа также сохраняется в файл

1 Ответ

0 голосов
/ 15 октября 2018

То, что вы хотите, может быть довольно легко выполнено с использованием основных методов обработки файлов Python.В двух словах вы открываете файл, перезаписываете или добавляете файл в зависимости от того, что хотите, а затем закрываете файл в конце скрипта.Вот некоторые ресурсы, которые помогут вам начать:

https://www.pythonforbeginners.com/cheatsheet/python-file-handling https://docs.python.org/3/tutorial/inputoutput.html (раздел 7.2)

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

logfile = open("logging.INFO", "a")
logfile.writelines("Stuff you want to log goes here. \n")
logfile.close
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...