Skip to content

Commit c9b55db

Browse files
committed
[event] add logger
1 parent 729746d commit c9b55db

File tree

4 files changed

+30
-3
lines changed

4 files changed

+30
-3
lines changed

ioc/event.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,22 +35,32 @@ def has(self, name):
3535
return name in self.data
3636

3737
class Dispatcher(object):
38-
def __init__(self):
38+
def __init__(self, logger=None):
3939
self.listeners = {}
40+
self.logger = logger
4041

4142
def dispatch(self, name, event=None):
4243
if isinstance(event, dict):
4344
event = Event(event)
4445

4546
event = event or Event()
4647

48+
if self.logger:
49+
self.logger.debug("event.dispatch: %s" % name)
50+
4751
if name not in self.listeners:
4852
return event
4953

5054
for listener in self.get_listeners(name):
55+
if self.logger:
56+
self.logger.debug("event.dispatch: %s to %s" % (name, listener))
57+
5158
listener(event)
5259

5360
if event.stop_propagation():
61+
if self.logger:
62+
self.logger.debug("event.dispatch: %s is stopped" % name)
63+
5464
break
5565

5666
return event

ioc/extra/event/di.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,10 @@
1818

1919
class Extension(ioc.component.Extension):
2020
def load(self, config, container_builder):
21-
container_builder.add('ioc.extra.event_dispatcher', ioc.component.Definition('ioc.event.Dispatcher'))
21+
definition = ioc.component.Definition('ioc.event.Dispatcher', kwargs={
22+
'logger': ioc.component.Reference('logger')
23+
})
24+
container_builder.add('ioc.extra.event_dispatcher', definition)
2225

2326
def post_build(self, container_builder, container):
2427
dispatcher = container.get('ioc.extra.event_dispatcher')

ioc/extra/tornado/command.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ def initialize(self, parser):
3131
parser.add_argument('--bind', '-b', default="localhost", type=str, help="bind the router to the provided named (default=localhost)")
3232

3333
def execute(self, args, output):
34-
3534
output.write("Configuring tornado (event: ioc.extra.tornado.start)\n")
3635

3736
self.event_dispatcher.dispatch('ioc.extra.tornado.start', {

ioc/extra/tornado/handler.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,9 @@ def get_form_data(self):
5959
def get_chunk_buffer(self):
6060
return b"".join(self._write_buffer)
6161

62+
def has_header(self, name):
63+
return name in self._headers
64+
6265
def is_xml_http_request(self):
6366
return 'X-Requested-With' in self.request.headers and 'XMLHttpRequest' == self.request.headers['X-Requested-With']
6467

@@ -142,6 +145,9 @@ def dispatch(self):
142145
self.finish(result=result)
143146

144147
def prepare(self):
148+
if self.logger:
149+
self.logger.debug("[ioc.extra.tornado.RouterHandler] prepare request %s" % self.request.uri)
150+
145151
self.event_dispatcher.dispatch('handler.request', {
146152
'request_handler': self,
147153
'request': self.request
@@ -152,6 +158,9 @@ def finish(self, *args, **kwargs):
152158
if 'result' in kwargs:
153159
result = kwargs['result']
154160

161+
if self.logger:
162+
self.logger.debug("[ioc.extra.tornado.RouterHandler] finish request %s" % self.request.uri)
163+
155164
self.event_dispatcher.dispatch('handler.response', {
156165
'request_handler': self,
157166
'request': self.request,
@@ -160,6 +169,9 @@ def finish(self, *args, **kwargs):
160169

161170
super(RouterHandler, self).finish()
162171

172+
if self.logger:
173+
self.logger.debug("[ioc.extra.tornado.RouterHandler] terminate request %s" % self.request.uri)
174+
163175
self.event_dispatcher.dispatch('handler.terminate', {
164176
'request_handler': self,
165177
'request': self.request,
@@ -171,6 +183,9 @@ def send_file(self, file):
171183
"""
172184
mime_type, encoding = mimetypes.guess_type(file)
173185

186+
if self.logger:
187+
self.logger.debug("[ioc.extra.tornado.RouterHandler] send file %s" % file)
188+
174189
if mime_type:
175190
self.set_header('Content-Type', mime_type)
176191

0 commit comments

Comments
 (0)