1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 import time
19
20 from flumotion.common import errors
21 from flumotion.component.plugs import base
22
23 __version__ = "$Rev$"
24
25
27 """
28 Base class for logger implementations. Should be renamed to
29 StreamLogger later...
30 """
31
32 - def event(self, type, args):
33 """
34 Handle a log event.
35
36 This dispatches a particular event type such as
37 "http_session_completed" to a method "event_http_session_completed".
38
39 Returns a Deferred (which will fire once the event handling has been
40 completed), or None.
41 """
42 handler = getattr(self, 'event_' + type, None)
43 if handler:
44 return handler(args)
45
49
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
63
65 filename = None
66 file = None
67
68 - def start(self, component=None):
76
77 - def stop(self, component=None):
81
85
89