Python多重记录-将记录合并到EMAIL +保存到文件

时间:2018-10-15 13:05:30

标签: python logging

我目前正在使用日志记录,它将任何错误发送到电子邮件。

#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 :(得分:0)

您可以使用基本的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