diff options
author | Sol Jerome <sol.jerome@gmail.com> | 2011-05-10 08:55:53 -0500 |
---|---|---|
committer | Sol Jerome <sol.jerome@gmail.com> | 2011-05-10 08:55:53 -0500 |
commit | c52dae393a452f964bdee10480669a21180d1c43 (patch) | |
tree | 7947f19e39fff9cd77f43cee2ef96a30fc34ee35 /src/lib/Logger.py | |
parent | ebf983f04e3205de6ecfbb3228306f27fc623615 (diff) | |
download | bcfg2-c52dae393a452f964bdee10480669a21180d1c43.tar.gz bcfg2-c52dae393a452f964bdee10480669a21180d1c43.tar.bz2 bcfg2-c52dae393a452f964bdee10480669a21180d1c43.zip |
Logger: Fix non-string logging
Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
Diffstat (limited to 'src/lib/Logger.py')
-rw-r--r-- | src/lib/Logger.py | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/src/lib/Logger.py b/src/lib/Logger.py index 8920ba747..9fe81f47e 100644 --- a/src/lib/Logger.py +++ b/src/lib/Logger.py @@ -118,16 +118,19 @@ class FragmentingSysLogHandler(logging.handlers.SysLogHandler): def emit(self, record): """Chunk and deliver records.""" record.name = self.procname - msgs = [] - error = record.exc_info - record.exc_info = None - msgdata = record.msg - while msgdata: - newrec = copy.deepcopy(record) - newrec.msg = msgdata[:250] - msgs.append(newrec) - msgdata = msgdata[250:] - msgs[0].exc_info = error + if isinstance(record.msg, str): + msgs = [] + error = record.exc_info + record.exc_info = None + msgdata = record.msg + while msgdata: + newrec = copy.deepcopy(record) + newrec.msg = msgdata[:250] + msgs.append(newrec) + msgdata = msgdata[250:] + msgs[0].exc_info = error + else: + msgs = [record] for newrec in msgs: msg = self.log_format_string % (self.encodePriority(self.facility, newrec.levelname.lower()), |