diff --git a/Lib/logging/handlers.py b/Lib/logging/handlers.py index b371824054370a..43cbb55c327bdd 100644 --- a/Lib/logging/handlers.py +++ b/Lib/logging/handlers.py @@ -879,21 +879,21 @@ def emit(self, record): 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) - if self.ident: - msg = self.ident + msg - if self.append_nul: - msg += '\000' - - # We need to convert record level to lowercase, maybe this will - # change in the future. - prio = '<%d>' % self.encodePriority(self.facility, - self.mapPriority(record.levelname)) - prio = prio.encode('utf-8') - # Message is a string. Convert to bytes as required by RFC 5424 - msg = msg.encode('utf-8') - msg = prio + msg try: + msg = self.format(record) + if self.ident: + msg = self.ident + msg + if self.append_nul: + msg += '\000' + + # We need to convert record level to lowercase, maybe this will + # change in the future. + prio = '<%d>' % self.encodePriority(self.facility, + self.mapPriority(record.levelname)) + prio = prio.encode('utf-8') + # Message is a string. Convert to bytes as required by RFC 5424 + msg = msg.encode('utf-8') + msg = prio + msg if self.unixsocket: try: self.socket.send(msg) diff --git a/Misc/NEWS b/Misc/NEWS index 9f9155dcf1cff6..97bb398e3af784 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -33,6 +33,9 @@ Core and Builtins Library ------- +- Issue #22776: Brought excluded code into the scope of a try block in + SysLogHandler.emit(). + - Issue #22665: Add missing get_terminal_size and SameFileError to shutil.__all__.