From baa629f96e7d3486bb89f7eca7a5db0142a72e64 Mon Sep 17 00:00:00 2001 From: klm Date: Thu, 23 Jul 1998 04:44:06 +0000 Subject: LogStdErr(): New routine to simplify hooking up a StampedLogger with sys.stderr (and tee it to sys.stdout, also). --- Mailman/Logging/Utils.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/Mailman/Logging/Utils.py b/Mailman/Logging/Utils.py index aba3d389d..68994c882 100644 --- a/Mailman/Logging/Utils.py +++ b/Mailman/Logging/Utils.py @@ -22,3 +22,24 @@ def __logexc(logger=None, msg=''): sys.__stderr__.write('Logging error: %s\n' % logger) traceback.print_exc(file=sys.__stderr__) sys.__stderr__.write('Original log message:\n%s\n' % msg) + +def LogStdErr(category, label, manual_reprime=1, tee_to_stdout=1): + """Establish a StampedLogger on sys.stderr if possible. sys.stdout + also gets stderr output, using a MultiLogger. + + Returns the MultiLogger if successful, None otherwise.""" + import sys + from StampedLogger import StampedLogger + from MultiLogger import MultiLogger + try: + sys.stderr = StampedLogger('error', + label=label, + manual_reprime=1, + nofail=0) + if tee_to_stdout: + multi = MultiLogger(sys.__stdout__, sys.stderr) + sys.stderr = multi + return sys.stderr + except IOError: + return None + -- cgit v1.2.3-70-g09d2