summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSol Jerome <sol.jerome@gmail.com>2011-05-10 08:55:53 -0500
committerSol Jerome <sol.jerome@gmail.com>2011-05-10 08:55:53 -0500
commitc52dae393a452f964bdee10480669a21180d1c43 (patch)
tree7947f19e39fff9cd77f43cee2ef96a30fc34ee35
parentebf983f04e3205de6ecfbb3228306f27fc623615 (diff)
downloadbcfg2-c52dae393a452f964bdee10480669a21180d1c43.tar.gz
bcfg2-c52dae393a452f964bdee10480669a21180d1c43.tar.bz2
bcfg2-c52dae393a452f964bdee10480669a21180d1c43.zip
Logger: Fix non-string logging
Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
-rw-r--r--src/lib/Logger.py23
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()),