Skip to content

Commit a25f152

Browse files
committed
PB-1785: Support logging to queue
1 parent c423d39 commit a25f152

File tree

2 files changed

+20
-3
lines changed

2 files changed

+20
-3
lines changed

app/config/logging-cfg-local.yml

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,7 @@ disable_existing_loggers: False # this allow to get logger at module level
33

44
root:
55
handlers:
6-
- console
7-
- file-standard
8-
- file-json
6+
- queue_listener
97
level: DEBUG
108
propagate: True
119

@@ -156,4 +154,15 @@ handlers:
156154
formatter: json
157155
filename: ${BASE_DIR}/${LOGS_DIR}/server-json-logs.json
158156
mode: w
157+
queue_listener:
158+
class: logging.handlers.QueueHandler
159+
listener: helpers.logging.AutoStartQueueListener
160+
queue:
161+
(): queue.Queue
162+
maxsize: 1000
163+
level: DEBUG
164+
handlers:
165+
- console
166+
- file-standard
167+
- file-json
159168

app/helpers/logging.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
from logging.handlers import QueueListener
2+
3+
4+
class AutoStartQueueListener(QueueListener):
5+
6+
def __init__(self, queue, *handlers, respect_handler_level=False):
7+
super().__init__(queue, *handlers, respect_handler_level=respect_handler_level)
8+
self.start()

0 commit comments

Comments
 (0)