olivier.massot 8 rokov pred
rodič
commit
b83025cc71
3 zmenil súbory, kde vykonal 24 pridanie a 19 odobranie
  1. 18 13
      core/BufferingSMTPHandler.py
  2. 3 3
      core/logconf.py
  3. 3 3
      core/logging.yaml

+ 18 - 13
core/BufferingSMTPHandler.py

@@ -1,5 +1,3 @@
-#!/usr/bin/env python
-#
 # Copyright 2001-2002 by Vinay Sajip. All Rights Reserved.
 #
 # Permission to use, copy, modify, and distribute this software and its
@@ -23,9 +21,12 @@
 of SMTPHandler.
 Copyright (C) 2001-2002 Vinay Sajip. All Rights Reserved.
 """
+
+from email.mime.text import MIMEText
 import logging.handlers
 import smtplib
 
+
 class BufferingSMTPHandler(logging.handlers.BufferingHandler):
     def __init__(self, mailhost, fromaddr, toaddrs, subject, capacity):
         logging.handlers.BufferingHandler.__init__(self, capacity)
@@ -34,18 +35,22 @@ class BufferingSMTPHandler(logging.handlers.BufferingHandler):
         self.fromaddr = fromaddr
         self.toaddrs = toaddrs
         self.subject = subject
-        self.setFormatter(logging.Formatter("%(asctime)s %(levelname)-5s %(message)s"))
 
     def flush(self):
-        if len(self.buffer) > 0:
-            port = self.mailport if self.mailport else smtplib.SMTP_PORT
+        try:
+            if len(self.buffer) > 0:
+                port = self.mailport if self.mailport else smtplib.SMTP_PORT
 
-            smtp = smtplib.SMTP(self.mailhost, port)
-            msg = "From: {}\nTo: {}\nSubject: {}\n\n".format(self.fromaddr, ",".join(self.toaddrs), self.subject)
-            for record in self.buffer:
-                msg += self.format(record)
-                msg += "\n"
+                msg = "\n".join([self.format(record) for record in self.buffer])
+                msg = MIMEText(msg.encode('utf-8'), _charset='utf-8')
+                msg['Subject'] = self.subject
+                msg['From'] = self.fromaddr
+                msg['To'] = ",".join(self.toaddrs)
 
-            smtp.sendmail(self.fromaddr, self.toaddrs, msg)
-            smtp.quit()
-            self.buffer = []
+                smtp = smtplib.SMTP(self.mailhost, port)
+                smtp.sendmail(self.fromaddr, self.toaddrs, msg.as_string())
+                smtp.quit()
+                self.buffer = []
+        except Exception as e:
+            print(e)
+            raise

+ 3 - 3
core/logconf.py

@@ -18,9 +18,9 @@ def start(name="main", level=0, filename=""):
     if level:
         conf["loggers"][name]["level"] = level
 
-#     if not filename:
-#         filename = r'log\{}_{:%Y%m%d_%H%M}.log'.format(name, datetime.now())
-#     conf["handlers"]["file"]["filename"] = filename
+    if not filename:
+        filename = r'log\{}_{:%Y%m%d_%H%M}.log'.format(name, datetime.now())
+    conf["handlers"]["file"]["filename"] = filename
 
     logging.config.dictConfig(conf)
 

+ 3 - 3
core/logging.yaml

@@ -29,10 +29,10 @@ handlers:
         level: INFO
         formatter: complete
         mailhost: smtp.bas-rhin.fr
-        fromaddr: olivier.massot@bas-rhin.fr
-        toaddrs: [olivier.massot@bas-rhin.fr]
+        fromaddr: log@bas-rhin.fr
+        toaddrs: [olivier.massot@bas-rhin.fr, jacky.klein@bas-rhin.fr]
         subject: log
-        capacity: 1000000
+        capacity: 100000000
         
 loggers:
     gf2analytique: