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