diff options
| author | klm | 1998-07-23 04:44:06 +0000 |
|---|---|---|
| committer | klm | 1998-07-23 04:44:06 +0000 |
| commit | baa629f96e7d3486bb89f7eca7a5db0142a72e64 (patch) | |
| tree | c2bac1d9673b16925f70cf2e9b1c0607e1d425f8 | |
| parent | 9c08a20db6f5079e698fd4ce5533bd0c30de1d00 (diff) | |
| download | mailman-baa629f96e7d3486bb89f7eca7a5db0142a72e64.tar.gz mailman-baa629f96e7d3486bb89f7eca7a5db0142a72e64.tar.zst mailman-baa629f96e7d3486bb89f7eca7a5db0142a72e64.zip | |
| -rw-r--r-- | Mailman/Logging/Utils.py | 21 |
1 files changed, 21 insertions, 0 deletions
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 + |
