]> granicus.if.org Git - python/commitdiff
Issue #7077: Backported fix from py3k.
authorVinay Sajip <vinay_sajip@yahoo.co.uk>
Fri, 3 Sep 2010 09:06:07 +0000 (09:06 +0000)
committerVinay Sajip <vinay_sajip@yahoo.co.uk>
Fri, 3 Sep 2010 09:06:07 +0000 (09:06 +0000)
Lib/logging/handlers.py

index 38beb1079bc551521c4d667c33162f73792ff944..472eee5f6cc6e7b15303526bb62de9201513afe0 100644 (file)
@@ -786,20 +786,19 @@ class SysLogHandler(logging.Handler):
         The record is formatted, and then sent to the syslog server. If
         exception information is present, it is NOT sent to the server.
         """
-        msg = self.format(record)
+        msg = self.format(record) + '\000'
         """
         We need to convert record level to lowercase, maybe this will
         change in the future.
         """
-        msg = self.log_format_string % (
-            self.encodePriority(self.facility,
-                                self.mapPriority(record.levelname)),
-                                msg)
-        # Treat unicode messages as required by RFC 5424
-        if _unicode and type(msg) is unicode:
+        prio = '<%d>' % self.encodePriority(self.facility,
+                                            self.mapPriority(record.levelname))
+        # Message is a string. Convert to bytes as required by RFC 5424
+        if type(msg) is unicode:
             msg = msg.encode('utf-8')
             if codecs:
                 msg = codecs.BOM_UTF8 + msg
+        msg = prio + msg
         try:
             if self.unixsocket:
                 try: