[Zope-Checkins] CVS: Zope/lib/python - SignalHandler.py:1.3

Chris McDonough chrism@zope.com
Sat, 15 Jun 2002 10:58:18 -0400


Update of /cvs-repository/Zope/lib/python
In directory cvs.zope.org:/tmp/cvs-serv3907

Modified Files:
	SignalHandler.py 
Log Message:
Caused the meta-signal-handler method to log when a registered handler fails.  Also fixed a bug in logfile rotation.


=== Zope/lib/python/SignalHandler.py 1.2 => 1.3 ===
                 raise
             except:
-                pass
+                zLOG.LOG('Z2', zLOG.WARNING,
+                         'A handler for %s failed!' % signame,
+                         error=sys.exc_info())
 
     # Builtin signal handlers for clean shutdown, restart and log rotation.
 
@@ -87,13 +89,14 @@
         """Reopen log files on SIGUSR2. This is registered first, so it
            should be called after all other SIGUSR2 handlers."""
         zLOG.LOG('Z2', zLOG.INFO , "Reopening log files")
-        if hasattr(sys, '__lg') and hasattr(sys.__lg, 'reopen'):
-            sys.__lg.reopen()
+        reopen = getattr(getattr(sys, '__lg', None), 'reopen', None)
+        if reopen is not None:
+            reopen()
             zLOG.LOG('Z2', zLOG.BLATHER, "Reopened access log")
-        if (hasattr(sys, '__detailedlog') and
-            hasattr(sys.__detailedlog, 'reopen')):
+        reopen = getattr(getattr(sys, '__detailedlog', None), 'reopen', None)
+        if reopen is not None:
+            reopen()
             zLOG.LOG('Z2', zLOG.BLATHER,"Reopened detailed request log")
-            sys.__detailedlog.reopen()
         if hasattr(zLOG, '_set_stupid_dest'):
             zLOG._set_stupid_dest(None)
         else:
@@ -101,7 +104,7 @@
         ZLogger.stupidFileLogger._stupid_dest = None
         zLOG.LOG('Z2', zLOG.BLATHER, "Reopened event log")
         zLOG.LOG('Z2', zLOG.INFO, "Log files reopened successfully")
-
+    
     def closeall(self):
         """Helper method to close network and database connections."""
         import Globals