diff options
Diffstat (limited to 'src/lib/Bcfg2/Logger.py')
-rw-r--r-- | src/lib/Bcfg2/Logger.py | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/src/lib/Bcfg2/Logger.py b/src/lib/Bcfg2/Logger.py index c2eac1e60..5bbc9ff96 100644 --- a/src/lib/Bcfg2/Logger.py +++ b/src/lib/Bcfg2/Logger.py @@ -105,7 +105,11 @@ class FragmentingSysLogHandler(logging.handlers.SysLogHandler): (self.encodePriority(self.facility, newrec.levelname.lower()), self.format(newrec)) try: - self.socket.send(msg.encode('ascii')) + try: + encoded = msg.encode('utf-8') + except UnicodeDecodeError: + encoded = msg + self.socket.send(encoded) except socket.error: for i in range(10): # pylint: disable=W0612 try: @@ -139,6 +143,10 @@ def add_console_handler(level=logging.DEBUG): console.setLevel(level) # tell the handler to use this format console.setFormatter(TermiosFormatter()) + try: + console.set_name("console") + except AttributeError: + console.name = "console" logging.root.addHandler(console) @@ -153,6 +161,10 @@ def add_syslog_handler(procname, syslog_facility, level=logging.DEBUG): syslog = FragmentingSysLogHandler(procname, ('localhost', 514), syslog_facility) + try: + syslog.set_name("syslog") + except AttributeError: + syslog.name = "syslog" syslog.setLevel(level) syslog.setFormatter( logging.Formatter('%(name)s[%(process)d]: %(message)s')) @@ -166,6 +178,10 @@ def add_syslog_handler(procname, syslog_facility, level=logging.DEBUG): def add_file_handler(to_file, level=logging.DEBUG): """Add a logging handler that logs to to_file.""" filelog = logging.FileHandler(to_file) + try: + filelog.set_name("file") + except AttributeError: + filelog.name = "file" filelog.setLevel(level) filelog.setFormatter( logging.Formatter('%(asctime)s %(name)s[%(process)d]: %(message)s')) |