Fix syslogging of exceptions by stripping newlines from the exception info

This commit is contained in:
Vishvananda Ishaya
2010-07-22 17:45:18 -05:00
parent a70927c7f0
commit 1775720bde

View File

@@ -22,7 +22,6 @@ manage pid files and support syslogging.
""" """
import logging import logging
import logging.handlers
import os import os
import signal import signal
import sys import sys
@@ -239,8 +238,16 @@ def serve(filename):
print 'usage: %s [options] [start|stop|restart]' % argv[0] print 'usage: %s [options] [start|stop|restart]' % argv[0]
sys.exit(1) sys.exit(1)
formatter = logging.Formatter( class NoNewlineFormatter(logging.Formatter):
'(%(name)s): %(levelname)s %(message)r') """Strips newlines from default formatter"""
def format(self, record):
"""Grabs default formatter's output and strips newlines"""
data = logging.Formatter.format(self, record)
return data.replace("\n", "--")
# NOTE(vish): syslog-ng doesn't handle newlines from trackbacks very well
formatter = NoNewlineFormatter(
'(%(name)s): %(levelname)s %(message)s')
handler = logging.StreamHandler(log.StdioOnnaStick()) handler = logging.StreamHandler(log.StdioOnnaStick())
handler.setFormatter(formatter) handler.setFormatter(formatter)
logging.getLogger().addHandler(handler) logging.getLogger().addHandler(handler)