Coverage for src/app/core/logging.py: 100%

15 statements  

« prev     ^ index     » next       coverage.py v7.14.3, created at 2026-06-24 08:34 +0000

1import logging 

2import sys 

3 

4from app.core.request_context import get_request_id 

5 

6 

7class RequestIdFilter(logging.Filter): 

8 def filter(self, record): 

9 record.request_id = get_request_id() 

10 return True 

11 

12 

13def setup_logging(): 

14 handler = logging.StreamHandler(sys.stdout) 

15 

16 formatter = logging.Formatter( 

17 "%(asctime)s | %(levelname)s | %(name)s | request_id=%(request_id)s | %(message)s" 

18 ) 

19 

20 handler.setFormatter(formatter) 

21 handler.addFilter(RequestIdFilter()) 

22 

23 root = logging.getLogger() 

24 root.setLevel(logging.INFO) 

25 root.addHandler(handler)