diff options
-rw-r--r-- | ipa-server/ipa-gui/ipa-webgui | 33 | ||||
-rw-r--r-- | ipa-server/ipa-gui/ipa-webgui.cfg | 12 |
2 files changed, 29 insertions, 16 deletions
diff --git a/ipa-server/ipa-gui/ipa-webgui b/ipa-server/ipa-gui/ipa-webgui index f1608908..c8e3d058 100644 --- a/ipa-server/ipa-gui/ipa-webgui +++ b/ipa-server/ipa-gui/ipa-webgui @@ -20,14 +20,24 @@ import os, sys def daemonize(): - pid = os.fork() + # fork once so the parent can exit + try: + pid = os.fork() + except OSError, e: + raise Exception, "%s [%d]" % (e.strerror, e.errno) + if pid != 0: os._exit(0) + # become session leader os.setsid() # fork again to reparent to init - pid = os.fork() + try: + pid = os.fork() + except OSError, e: + raise Exception, "%s [%d]" % (e.strerror, e.errno) + if pid != 0: os._exit(0) @@ -60,6 +70,13 @@ devel = False if os.path.exists(os.path.join(os.path.dirname(__file__), "Makefile.am")): devel = True +if not devel: + try: + daemonize() + except Exception, e: + sys.stderr.write("error becoming daemon: " + str(e)) + sys.exit(1) + sys.path.append("/usr/share/ipa/") # this must be after sys.path is changed to work correctly @@ -83,16 +100,4 @@ else: from ipagui.controllers import Root -if not devel: - try: - daemonize() - except Exception, e: - sys.stderr.write("error becoming daemon: " + str(e)) - sys.exit(1) - start_server(Root()) - - - - - diff --git a/ipa-server/ipa-gui/ipa-webgui.cfg b/ipa-server/ipa-gui/ipa-webgui.cfg index 7970ab86..35b0b4f5 100644 --- a/ipa-server/ipa-gui/ipa-webgui.cfg +++ b/ipa-server/ipa-gui/ipa-webgui.cfg @@ -64,12 +64,20 @@ format='*(asctime)s *(name)s *(levelname)s *(message)s' [[handlers]] [[[debug_out]]] -class='StreamHandler' +# Rotate weekly on Sunday. Keep 4 backups of the log +class='TimedRotatingFileHandler' level='DEBUG' -args='(sys.stdout,)' +args="('/var/log/ipa_error.log', 'w6', 1, 4)" formatter='full_content' [[[access_out]]] +# For example only if one wants to duplicate the access log in TurboGears +# Rotate weekly on Sunday. Keep 4 backups of the log +#class='TimedRotatingFileHandler' +#level='INFO' +#args="('/var/log/ipa_error.log', 'w6', 1, 4)" +#formatter='message_only' +# By default log access to stdout which will go to /dev/null in production class='StreamHandler' level='INFO' args='(sys.stdout,)' |