Backported SysLogHandler fix for issue #7077.
diff --git a/Lib/logging/handlers.py b/Lib/logging/handlers.py
index 31352ad..82c418b 100644
--- a/Lib/logging/handlers.py
+++ b/Lib/logging/handlers.py
@@ -202,7 +202,11 @@
 
         self.extMatch = re.compile(self.extMatch, re.ASCII)
         self.interval = self.interval * interval # multiply by units requested
-        self.rolloverAt = self.computeRollover(int(time.time()))
+        if os.path.exists(filename):
+            t = os.stat(filename)[ST_MTIME]
+        else:
+            t = int(time.time())
+        self.rolloverAt = self.computeRollover(t)
 
     def computeRollover(self, currentTime):
         """
@@ -774,6 +778,9 @@
             self.encodePriority(self.facility,
                                 self.mapPriority(record.levelname)),
                                 msg)
+        msg = msg.encode('utf-8')
+        if codecs:
+            msg = codecs.BOM_UTF8 + msg
         try:
             if self.unixsocket:
                 try: