iro/iro.py
changeset 20 0d7ffb9b2c7f
parent 19 fcf8489f1c2f
child 23 0180b538ed74
child 24 2119564de7a9
--- a/iro/iro.py	Mon Nov 23 00:18:04 2009 +0100
+++ b/iro/iro.py	Tue Nov 24 02:02:41 2009 +0100
@@ -11,8 +11,12 @@
 #You should have received a copy of the GNU General Public License
 #along with this program; if not, see <http://www.gnu.org/licenses/>.
 
+import multiprocessing, logging
+#logging anfangen
+logging.basicConfig(level=logging.DEBUG, format='%(levelname)s-[%(asctime)s %(processName)s (%(threadName)s)]%(message)s')
+
+
 # Server code
-
 from xmlrpc import SecureUserDBXMLRPCServer,UserDB
 
 from user import User, Admin
@@ -83,6 +87,8 @@
 def start(userlist):
     from multiprocessing import Queue
     from multiprocessing.managers import BaseManager
+    import multiprocessing, logging
+
     
     class MyManager(BaseManager):
         pass
@@ -136,10 +142,17 @@
                                       certificate=cert,privatekey=key)
     server.relam="xmlrpc"
     
-    print "Server started..."
-    server.serve_forever()
-    
-    worker.terminate()
+    logging.info('Server gestartet...')
+    try:
+        server.serve_forever()
+    except KeyboardInterrupt:
+        pass
+    except:
+        logging.exception('Äh, ein Fehler ist aufgetreten')
+    finally:    
+        logging.info('Server wird beendet...')
+        queue.close()
+        worker.terminate()
 
 if __name__ == '__main__':
     userlist=[{"name":"test","password":"test",  "class":User},