Commit 4954e5e2 authored by Jim Fulton's avatar Jim Fulton

Added logic to close redirect stderr and stdout to log files specified

via the environment variables STDERR_LOG and STDOUT_LOG, or to
/dev/null. (On Windows, they are just closed if no environment
variables are provided, since there is no /dev/null.)
parent a87d5364
......@@ -53,6 +53,8 @@
__version__ = "2.0a4"
import string, sys, os
class PCGIPublisher:
def __init__(self, resource=None):
### resources passed from the environment, info file or pcgi-wrapper
......@@ -326,8 +328,9 @@ class PCGIPublisher:
return self.fatalError("no socket available")
self.sock.listen(512)
try: sys.stderr.close()
except: pass
stdlog('stderr')
stdlog('stdout')
while not self.error:
conn, accept = self.sock.accept()
......@@ -336,6 +339,17 @@ class PCGIPublisher:
except socket.error:
pass
def stdlog(name):
NAME=string.upper(name)+'_LOG'
if os.environ.has_key(NAME):
f=os.environ[NAME]
else:
f='/dev/null'
try: f=open(f,'w')
except: f=None
getattr(sys, name).close()
if f is not None: setattr(sys, name, f)
def main():
try:
import os, sys, string, traceback
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment