Skip to content

Commit cc62f86

Browse files
committed
Added debug logs
1 parent aaa3a41 commit cc62f86

3 files changed

Lines changed: 48 additions & 1 deletion

File tree

whatsapp_chatbot_python/manager/handler.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import json
2+
import logging
13
from abc import ABC, abstractmethod
24
from typing import Any, Callable, Dict, List, Optional, TYPE_CHECKING, Union
35

@@ -140,11 +142,26 @@ def execute_handler(self, observer: "Observer") -> bool:
140142
observer.event, observer.router.api, observer.state_manager
141143
)
142144

145+
filters = json.dumps(self.filters, ensure_ascii=False)
146+
147+
observer.router.logger.log(
148+
logging.DEBUG, f"Checking event by filters: {filters}"
149+
)
150+
143151
response = self.check_event(notification)
144152
if response:
153+
observer.router.logger.log(
154+
logging.DEBUG, "Event matches filters. Handling event."
155+
)
156+
145157
self.handler(notification)
146158

147159
return True
160+
161+
observer.router.logger.log(
162+
logging.DEBUG, "Event does not match filters."
163+
)
164+
148165
return False
149166

150167

whatsapp_chatbot_python/manager/observer.py

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import logging
12
from abc import ABC, abstractmethod
23
from typing import Any, Callable, List, TYPE_CHECKING
34

@@ -39,10 +40,30 @@ def add_handler(self, handler: HandlerType, **filters: Any) -> None:
3940
self.handlers.append(Handler(handler, **filters))
4041

4142
def propagate_event(self) -> None:
43+
if not self.handlers:
44+
self.router.logger.log(
45+
logging.DEBUG, (
46+
"Skipping event because there are no subscribers."
47+
)
48+
)
49+
50+
return None
51+
4252
for handler in self.handlers:
4353
response = handler.execute_handler(self)
4454
if response:
45-
break
55+
self.router.logger.log(
56+
logging.DEBUG, "Event has been successfully handled."
57+
)
58+
59+
return None
60+
61+
self.router.logger.log(
62+
logging.DEBUG, (
63+
"Event has not been handled "
64+
"because all handlers do not match filters."
65+
)
66+
)
4667

4768
def __call__(self, **filters: Any) -> Callable[[HandlerType], HandlerType]:
4869
def wrapper(handler: HandlerType) -> HandlerType:

whatsapp_chatbot_python/manager/router.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import json
12
import logging
23
from typing import Dict, TYPE_CHECKING
34

@@ -31,6 +32,14 @@ def route_event(self, event: dict) -> None:
3132

3233
observer = self.observers.get(type_webhook)
3334
if observer:
35+
data = json.dumps(event, ensure_ascii=False, indent=4)
36+
37+
self.logger.log(
38+
logging.DEBUG, (
39+
f"Routing {type_webhook} event with data: {data}"
40+
)
41+
)
42+
3443
observer.update_event(event)
3544

3645

0 commit comments

Comments
 (0)