1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import time
23
24 from flumotion.common import errors
25 from flumotion.component.plugs import base
26
27 __version__ = "$Rev: 6125 $"
28
29
30 -class Logger(base.ComponentPlug):
31 """
32 Base class for logger implementations. Should be renamed to
33 StreamLogger later...
34 """
35 - def event(self, type, args):
36 """
37 Handle a log event.
38
39 This dispatches a particular event type such as "http_session_completed"
40 to a method "event_http_session_completed".
41
42 Returns a Deferred (which will fire once the event handling has been
43 completed), or None.
44 """
45 handler = getattr(self, 'event_' + type, None)
46 if handler:
47 return handler(args)
48
52
54
55
56 ident = '-'
57 date = time.strftime('%d/%b/%Y:%H:%M:%S +0000', args['time'])
58
59 return ("%s %s %s [%s] \"%s %s %s\" %d %d %s \"%s\" %d\n"
60 % (args['ip'], ident, args['username'], date,
61 args['method'], args['uri'], args['clientproto'],
62 args['response'], args['bytes-sent'], args['referer'],
63 args['user-agent'], args['time-connected']))
64
66 filename = None
67 file = None
68
69 - def start(self, component=None):
77
78 - def stop(self, component=None):
82
86
90