Author: duncan
Date: Thu Jun 14 19:18:43 2007
New Revision: 9691

Modified:
   branches/rel-1/freevo/src/config.py
   branches/rel-1/freevo/src/helpers/recordserver.py
   branches/rel-1/freevo/src/main.py
   branches/rel-1/freevo/src/plugins/shutdown.py

Log:
More logging changes to use the logging functions better


Modified: branches/rel-1/freevo/src/config.py
==============================================================================
--- branches/rel-1/freevo/src/config.py (original)
+++ branches/rel-1/freevo/src/config.py Thu Jun 14 19:18:43 2007
@@ -46,10 +46,15 @@
 import setup_freevo
 import traceback
 import __builtin__
-import version
 import locale
 import logging
 
+try:
+    import freevo.version as version
+    import freevo.revision as revision
+except:
+    import version
+    import revision
 
 DINFO = 0
 DWARNING = -1
@@ -63,8 +68,6 @@
     warnings.simplefilter("ignore", category=FutureWarning)
     warnings.simplefilter("ignore", category=DeprecationWarning)
 
-VERSION = version.__version__
-
 # For Internationalization purpose
 # an exception is raised with Python 2.1 if LANG is unavailable.
 import gettext
@@ -98,42 +101,51 @@
         self.lineno = 1
         self.logtype = logtype
         appname = os.path.splitext(os.path.basename(sys.argv[0]))[0]
-        logfile = '%s/%s-%s.log' % (LOGDIR, appname, os.getuid())
-        logging.basicConfig(level=LOGGING, \
-            #datefmt='%a, %H:%M:%S',
-            format='%(asctime)s %(levelname)-8s %(message)s', \
-            filename=logfile, filemode='a')
-        self.logfile = logfile
-        #try:
-        #    self.fp = open(logfile, 'a')
-        #except IOError:
-        #    print 'Could not open logfile: %s' % logfile
-        #    self.fp = open('/dev/null','a')
+        try:
+            self.logfile = '%s/%s-%s.log' % (LOGDIR, appname, os.getuid())
+            self.fp = open(self.logfile, 'a')
+            logging.basicConfig(level=LOGGING, \
+                #datefmt='%a, %H:%M:%S',
+                format='%(asctime)s %(levelname)-8s %(message)s', \
+                filename=self.logfile, filemode='a')
+        except IOError, e:
+            print '%s' % e
+            self.logfile = '/dev/null'
+            self.fp = open(self.logfile, 'a')
+            logging.basicConfig(level=LOGGING, \
+                format='%(asctime)s %(levelname)-8s %(message)s', \
+                filename=self.logfile, filemode='a')
+
 
     def write(self, msg):
-        global DEBUG_STDOUT
-        if isinstance(msg, unicode):
-            msg = msg.encode(LOCALE)
-        if DEBUG_STDOUT:
-            print >> sys.__stdout__, s
-            sys.__stdout__.flush
-            #sys.__stdout__.write(msg)
-        #self.fp.write(msg)
-        #self.fp.flush()
+        global lock, DEBUG_STDOUT
+        #print >> sys.__stdout__, 'lock-wrt=%s' % lock
+        lock.acquire()
+        try:
+            if isinstance(msg, unicode):
+                msg = msg.encode(LOCALE)
+            if DEBUG_STDOUT:
+                #print >> sys.__stdout__, msg
+                sys.__stdout__.write(msg)
+                sys.__stdout__.flush()
+            self.fp.write(msg)
+            self.fp.flush()
+        finally:
+            lock.release()
         return
 
     def log(self, msg):
-        #self.fp.write(msg)
-        #self.fp.flush()
+        self.fp.write('%s\n' % msg)
+        self.fp.flush()
         return
 
     def flush(self):
         pass
 
     def close(self):
-        logging.info('-' * 80)
-        logging.info('Log closed')
-        logging.info('=' * 80)
+        sys.stdout.log('-' * 80)
+        sys.stdout.log('Freevo %s r%s finished at %s' % (version.__version__, 
revision.__revision__, ts))
+        sys.stdout.log('=' * 80)
 
 
 class VideoGroup:
@@ -281,19 +293,22 @@
     if not os.path.isdir(LOGDIR):
         os.makedirs(LOGDIR)
 
-
 #
 # Redirect stdout and stderr to stdout and /tmp/freevo.log
 #
-if not HELPER:
-    sys.stdout = Logger(sys.argv[0] + ':stdin')
-    sys.stderr = Logger(sys.argv[0] + ':stderr')
-    ts = time.asctime(time.localtime(time.time()))
-    sys.stdout.log('-' * 79 + '\n')
-    sys.stdout.log('Freevo (%s) started at %s\n' % (VERSION, ts))
-    sys.stdout.log('-' * 79 + '\n')
-
+#if not HELPER:
 lock = thread.allocate_lock()
+sys.stdout = Logger(sys.argv[0] + ':stdin')
+sys.stderr = Logger(sys.argv[0] + ':stderr')
+ts = time.asctime(time.localtime(time.time()))
+sys.stdout.log('=' * 80)
+sys.stdout.log('Freevo %s r%s started at %s' % (version.__version__, 
revision.__revision__, ts))
+sys.stdout.log('-' * 80)
+
+def shutdown():
+    sys.stdout.close()
+    #sys.stderr.close()
+    return
 
 def _stack_function_(message='', limit=None):
     import traceback
@@ -313,7 +328,10 @@
     '''
     if DEBUG < level:
         return
+    if not s:
+        return
     global lock
+    global DEBUG_STDOUT
     lock.acquire()
     try:
         try:
@@ -335,7 +353,7 @@
                 logging.debug(msg)
             # print the message for info, warning, error and critical
             if level <= DINFO and DEBUG_STDOUT:
-                sys.__stdout__.write('%s\n' % (msg))
+                sys.__stdout__.write('%s\n' % (s))
                 sys.__stdout__.flush()
         except UnicodeEncodeError:
             print "_debug_ failed. %r" % msg
@@ -572,17 +590,8 @@
 os.umask(UMASK)
 
 
-if not HELPER:
-    try:
-        import freevo.version as version
-        import freevo.revision as revision
-    except:
-        import version
-        import revision
-    logging.getLogger('').setLevel(LOGGING)
-    logging.info('=' * 80)
-    logging.info('Log opened for Freevo %s r%s' % (version.__version__, 
revision.__revision__))
-    logging.info('-' * 80)
+#if not HELPER:
+logging.getLogger('').setLevel(LOGGING)
 
 #
 # force fullscreen when freevo is it's own windowmanager

Modified: branches/rel-1/freevo/src/helpers/recordserver.py
==============================================================================
--- branches/rel-1/freevo/src/helpers/recordserver.py   (original)
+++ branches/rel-1/freevo/src/helpers/recordserver.py   Thu Jun 14 19:18:43 2007
@@ -39,6 +39,7 @@
 
 # change uid
 if __name__ == '__main__':
+    config.DEBUG_STDOUT = 0
     lock = threading.Lock()
     uid='config.'+appconf+'_UID'
     gid='config.'+appconf+'_GID'
@@ -80,7 +81,7 @@
 DEBUG = hasattr(config, appconf+'_DEBUG') and eval('config.'+appconf+'_DEBUG') 
or config.DEBUG
 LOGGING = hasattr(config, appconf+'_LOGGING') and 
eval('config.'+appconf+'_LOGGING') or config.LOGGING
 
-def _debug_function_(s, level=1):
+def _debug_func_(s, level=1):
     import traceback
     if DEBUG < level:
         return
@@ -112,7 +113,7 @@
     finally:
         lock.release()
 
-__builtin__.__dict__['_debug_']= _debug_function_
+__builtin__.__dict__['_debug_']= _debug_func_
 
 
 logfile = '%s/%s-%s.log' % (config.LOGDIR, appname, os.getuid())
@@ -131,9 +132,6 @@
 except:
     import version
     import revision
-logging.warn('=' * 80)
-logging.warn('Log opened for recordserver %s r%s' % (version.__version__, 
revision.__revision__))
-logging.warn('-' * 80)
 
 _debug_('PLUGIN_RECORD: %s' % config.plugin_record, config.DINFO)
 

Modified: branches/rel-1/freevo/src/main.py
==============================================================================
--- branches/rel-1/freevo/src/main.py   (original)
+++ branches/rel-1/freevo/src/main.py   Thu Jun 14 19:18:43 2007
@@ -481,7 +481,7 @@
     pass
 
 except:
-    print 'Crash!'
+    _debug_('Crash!', config.DCRITICAL)
     try:
         tb = sys.exc_info()[2]
         fname, lineno, funcname, text = traceback.extract_tb(tb)[-1]

Modified: branches/rel-1/freevo/src/plugins/shutdown.py
==============================================================================
--- branches/rel-1/freevo/src/plugins/shutdown.py       (original)
+++ branches/rel-1/freevo/src/plugins/shutdown.py       Thu Jun 14 19:18:43 2007
@@ -104,6 +104,8 @@
     osd.clearscreen(color=osd.COL_BLACK)
     osd.shutdown()
 
+    config.shutdown()
+
     if exit:
         # realy exit, we are called by the signal handler
         sys.exit(0)

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Freevo-cvslog mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog

Reply via email to