f270b8d24d58c8b218a2e21a230b390ff473794d
[minwii.git] / src / app / log.py
1 # -*- coding: utf-8 -*-
2 """
3 utilitaires pour tracer l'activité de miiwii
4
5 $Id$
6 $URL$
7 """
8
9 from events import TIMEOUT, COLOVER, eventNames
10 from event_pprinters import pprinters
11 import sys
12 import pygame
13 import logging
14
15
16 class EventLoggerAdapter(logging.LoggerAdapter) :
17
18 FORMAT = "%(ticks)-15s %(eventName)s %(message)s"
19
20 def process(self, msg, kwargs) :
21 pp = pprinters.get(msg.type, lambda e: '')
22 extra = {}
23 extra['eventName'] = eventNames[msg.type]
24 extra['ticks'] = pygame.time.get_ticks()
25 kwargs['extra']=extra
26 return pp(msg), kwargs
27
28 #logging.basicConfig(level=logging.DEBUG, stream = sys.stdout)
29 console = logging.getLogger('minwii.console')
30 console.setLevel(logging.DEBUG)
31 console.addHandler(logging.StreamHandler())
32
33 _eventLogger = logging.getLogger('minwii.events')
34 _eventLogger.setLevel(logging.INFO)
35 _eventHandler = logging.StreamHandler()
36 _eventFormatter = logging.Formatter(EventLoggerAdapter.FORMAT)
37 _eventHandler.setFormatter(_eventFormatter)
38 _eventLogger.addHandler(_eventHandler)
39
40 eventLogger = EventLoggerAdapter(_eventLogger, {})
41
42 hiddenEvents = {pygame.MOUSEMOTION:True,
43 TIMEOUT:True,
44 #COLOVER:True,
45 }