Make error reporting work for errors in logger.
authorMatthijs Kooijman <matthijs@stdin.nl>
Wed, 12 Aug 2009 20:04:54 +0000 (22:04 +0200)
committerMatthijs Kooijman <matthijs@stdin.nl>
Thu, 13 Aug 2009 09:58:42 +0000 (11:58 +0200)
Previously, errors in the logger initialization would cause the
exception handling to barf.

src/main.py

index c278d4e785fb09c989b7a3d0fd728d668c9c7da7..455a34cdc1fa1c928e638dac3d9d1bb08ad1be31 100644 (file)
@@ -7,6 +7,7 @@
 #tr.go()
 
 def run():
+    logger = None
     try:
         import sys
         import e32
@@ -19,7 +20,8 @@ def run():
     #    print os.path.dirname(__file__)
     #    sys.path.append(os.path.dirname(__file__))
         import log.logging
-        from log.logging import logger
+        from log.logging import logger as _logger
+        logger = _logger
         import sys,os
         logger.log_stderr()
         sys.stderr.write('stderr logged from default')
@@ -70,9 +72,11 @@ def run():
         t = appuifw.Text()
         for trace_line in trace:
             formatted_trace_line = u'\nIn %s line %s: %s "%s"'%trace_line
-            logger.log(formatted_trace_line,1)
+            if logger:
+                logger.log(formatted_trace_line,1)
             t.add(formatted_trace_line)
-        logger.log(error_text,1)
+        if logger:
+            logger.log(error_text,1)
         t.add(error_text)
         lock = e32.Ao_lock()
         appuifw.app.menu=[(u'Exit', lock.signal)]
@@ -82,7 +86,8 @@ def run():
         #appuifw.app.exit_key_handler=gui.exit
         lock.wait()
 
-    logger.close()
+    if logger:
+        logger.close()
 
 run()