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
28 -class Logger(base.ComponentPlug):
29 """
30 Base class for logger implementations. Should be renamed to
31 StreamLogger later...
32 """
33 - def event(self, type, args):
34 """
35 Handle a log event.
36
37 This dispatches a particular event type such as "http_session_completed"
38 to a method "event_http_session_completed".
39
40 Returns a Deferred (which will fire once the event handling has been
41 completed), or None.
42 """
43 handler = getattr(self, 'event_' + type, None)
44 if handler:
45 return handler(args)
46
50
52
53
54 ident = '-'
55 date = time.strftime('%d/%b/%Y:%H:%M:%S +0000', args['time'])
56
57 return ("%s %s %s [%s] \"%s %s %s\" %d %d %s \"%s\" %d\n"
58 % (args['ip'], ident, args['username'], date,
59 args['method'], args['uri'], args['clientproto'],
60 args['response'], args['bytes-sent'], args['referer'],
61 args['user-agent'], args['time-connected']))
62
64 filename = None
65 file = None
66
67 - def start(self, component=None):
75
76 - def stop(self, component=None):
80
84
88