|
1 | | -import structlog |
2 | | -import logging |
3 | | -import os |
4 | | -import sys |
| 1 | +from .bufflog import get_logger |
5 | 2 |
|
6 | | -# try: |
7 | | -# import ddtrace |
8 | | -# from ddtrace.helpers import get_correlation_ids |
9 | | - |
10 | | -# ddtrace_available = True |
11 | | -# except ImportError: |
12 | | -# ddtrace_available = False |
13 | | - |
14 | | -from structlog.processors import JSONRenderer |
15 | | -from structlog.stdlib import filter_by_level |
16 | | -from structlog.stdlib import add_log_level_number |
17 | | - |
18 | | -LOG_LEVEL = os.getenv("LOG_LEVEL", "INFO") |
19 | | - |
20 | | - |
21 | | -# def tracer_injection(logger, log_method, event_dict): |
22 | | -# # get correlation ids from current tracer context |
23 | | -# trace_id, span_id = get_correlation_ids() |
24 | | - |
25 | | -# # add ids to structlog event dictionary |
26 | | -# event_dict["dd.trace_id"] = trace_id or 0 |
27 | | -# event_dict["dd.span_id"] = span_id or 0 |
28 | | - |
29 | | -# # add the env, service, and version configured for the tracer |
30 | | -# event_dict["dd.env"] = ddtrace.config.env or "" |
31 | | -# event_dict["dd.service"] = ddtrace.config.service or "" |
32 | | -# event_dict["dd.version"] = ddtrace.config.version or "" |
33 | | - |
34 | | -# return event_dict |
35 | | - |
36 | | - |
37 | | -def rename_message_key(_, __, event_dict): |
38 | | - event_dict["message"] = event_dict["event"] |
39 | | - event_dict.pop("event", None) |
40 | | - return event_dict |
41 | | - |
42 | | - |
43 | | -def increase_level_numbers(_, __, event_dict): |
44 | | - event_dict["level"] = event_dict["level_number"] * 10 |
45 | | - event_dict.pop("level_number", None) |
46 | | - return event_dict |
47 | | - |
48 | | - |
49 | | -processors = [ |
50 | | - filter_by_level, |
51 | | - rename_message_key, |
52 | | - add_log_level_number, |
53 | | - increase_level_numbers, |
54 | | - structlog.stdlib.PositionalArgumentsFormatter(), |
55 | | - structlog.processors.StackInfoRenderer(), |
56 | | - structlog.processors.format_exc_info, |
57 | | - structlog.processors.UnicodeDecoder(), |
58 | | - JSONRenderer(), |
59 | | -] |
60 | | - |
61 | | -# if ddtrace_available: |
62 | | -# processors.insert(0, tracer_injection) |
63 | | - |
64 | | - |
65 | | -def get_logger(): |
66 | | - structlog.configure( |
67 | | - context_class=dict, |
68 | | - logger_factory=structlog.stdlib.LoggerFactory(), |
69 | | - wrapper_class=structlog.stdlib.BoundLogger, |
70 | | - cache_logger_on_first_use=True, |
71 | | - processors=processors, |
72 | | - ) |
73 | | - return structlog.get_logger() |
| 3 | +__all__ = ["get_logger"] |
0 commit comments