log dans un fichier horodaté.
[minwii.git] / src / app / log.py
index ca10200..74500ec 100755 (executable)
@@ -11,6 +11,8 @@ from event_pprinters import pprinters
 import sys
 import pygame
 import logging
 import sys
 import pygame
 import logging
+import os
+import datetime
 
 hiddenEvents = {pygame.MOUSEMOTION:True,
                 pygame.MOUSEBUTTONDOWN:True,
 
 hiddenEvents = {pygame.MOUSEMOTION:True,
                 pygame.MOUSEBUTTONDOWN:True,
@@ -19,13 +21,12 @@ hiddenEvents = {pygame.MOUSEMOTION:True,
                 #COLOVER:True,
                 }
 
                 #COLOVER:True,
                 }
 
-
 class EventLoggerAdapter(logging.LoggerAdapter) :
     
 class EventLoggerAdapter(logging.LoggerAdapter) :
     
-    FORMAT = "%(ticks)-10s %(eventName)-15s %(message)s"
+    FORMAT = "EVT %(ticks)-10s %(eventName)-15s %(message)s"
     
     def process(self, msg, kwargs) :
     
     def process(self, msg, kwargs) :
-        pp = pprinters.get(msg.type, lambda e: '')
+        pp = pprinters.get(msg.type, lambda e: str(e))
         extra = {}
         extra['eventType'] = msg.type
         extra['eventName'] = eventNames[msg.type]
         extra = {}
         extra['eventType'] = msg.type
         extra['eventName'] = eventNames[msg.type]
@@ -41,18 +42,25 @@ class EventFilter :
     def filter(self, record) :
         return not hiddenEvents.has_key(record.eventType)
 
     def filter(self, record) :
         return not hiddenEvents.has_key(record.eventType)
 
-#logging.basicConfig(level=logging.DEBUG, stream = sys.stdout)
+logsdir = os.path.join(os.path.expandvars('$HOME'), 'minwii_logs')
+if not os.path.exists(logsdir) :
+    os.mkdir(logsdir)
+
+logfile = os.path.join(logsdir, datetime.datetime.now().strftime('%Y-%m-%d-%H_%M_%S.log'))
+logfile = open(logfile, 'w')
+
 console = logging.getLogger('minwii.console')
 console.setLevel(logging.DEBUG)
 console = logging.getLogger('minwii.console')
 console.setLevel(logging.DEBUG)
-console.addHandler(logging.StreamHandler())
+handler = logging.StreamHandler(logfile)
+handler.setFormatter(logging.Formatter('APP %(message)s'))
+console.addHandler(handler)
 
 _eventLogger = logging.getLogger('minwii.events')
 _eventLogger.setLevel(logging.INFO)
 
 _eventLogger = logging.getLogger('minwii.events')
 _eventLogger.setLevel(logging.INFO)
-_eventHandler = logging.StreamHandler()
+_eventHandler = logging.StreamHandler(logfile)
 _eventFormatter = logging.Formatter(EventLoggerAdapter.FORMAT)
 _eventHandler.setFormatter(_eventFormatter)
 _eventLogger.addHandler(_eventHandler)
 _eventLogger.addFilter(EventFilter())
 
 eventLogger = EventLoggerAdapter(_eventLogger, {})
 _eventFormatter = logging.Formatter(EventLoggerAdapter.FORMAT)
 _eventHandler.setFormatter(_eventFormatter)
 _eventLogger.addHandler(_eventHandler)
 _eventLogger.addFilter(EventFilter())
 
 eventLogger = EventLoggerAdapter(_eventLogger, {})
-