Skip to content

Commit fa0539c

Browse files
committed
Split
1 parent 675e24c commit fa0539c

File tree

5 files changed

+81
-74
lines changed

5 files changed

+81
-74
lines changed

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,9 @@ pip install python-bufflog
1818

1919
```python
2020

21-
from bufflog import bufflog
21+
from bufflog import get_logger
22+
23+
bufflog = get_logger()
2224

2325
bufflog.debug('Hello debug', context={"some":"stuff"})
2426
bufflog.info('Hello info')

bufflog/__init__.py

Lines changed: 2 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -1,73 +1,3 @@
1-
import structlog
2-
import logging
3-
import os
4-
import sys
1+
from .bufflog import get_logger
52

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"]

bufflog/bufflog.py

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
import structlog
2+
import logging
3+
import sys
4+
5+
from structlog.processors import JSONRenderer
6+
from structlog.stdlib import filter_by_level
7+
from structlog.stdlib import add_log_level_number
8+
9+
10+
def rename_message_key(_, __, event_dict):
11+
event_dict["message"] = event_dict["event"]
12+
event_dict.pop("event", None)
13+
return event_dict
14+
15+
16+
def increase_level_numbers(_, __, event_dict):
17+
event_dict["level"] = event_dict["level_number"] * 10
18+
event_dict.pop("level_number", None)
19+
return event_dict
20+
21+
22+
def get_logger(name=__name__):
23+
24+
logging.basicConfig(
25+
format="%(message)s",
26+
stream=sys.stdout,
27+
level=logging.INFO,
28+
)
29+
30+
processors = [
31+
filter_by_level,
32+
rename_message_key,
33+
add_log_level_number,
34+
increase_level_numbers,
35+
structlog.stdlib.PositionalArgumentsFormatter(),
36+
structlog.processors.StackInfoRenderer(),
37+
structlog.processors.format_exc_info,
38+
structlog.processors.UnicodeDecoder(),
39+
JSONRenderer(),
40+
]
41+
structlog.configure(
42+
context_class=dict,
43+
logger_factory=structlog.stdlib.LoggerFactory(),
44+
wrapper_class=structlog.stdlib.BoundLogger,
45+
cache_logger_on_first_use=True,
46+
processors=processors,
47+
)
48+
return structlog.get_logger(name).new()

bufflog/datadog.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
try:
2+
import ddtrace
3+
from ddtrace.helpers import get_correlation_ids
4+
5+
ddtrace_available = True
6+
except ImportError:
7+
ddtrace_available = False
8+
9+
10+
def is_ddtrace_available():
11+
return ddtrace_available
12+
13+
14+
def tracer_injection(logger, log_method, event_dict):
15+
# get correlation ids from current tracer context
16+
trace_id, span_id = get_correlation_ids()
17+
18+
# Add ids to Structlog event dictionary
19+
event_dict["dd.trace_id"] = trace_id or 0
20+
event_dict["dd.span_id"] = span_id or 0
21+
22+
# add the env, service, and version configured for the tracer
23+
event_dict["dd.env"] = ddtrace.config.env or ""
24+
event_dict["dd.service"] = ddtrace.config.service or ""
25+
event_dict["dd.version"] = ddtrace.config.version or ""
26+
27+
return event_dict

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
setuptools.setup(
77
name="python-bufflog",
8-
version="0.1.1",
8+
version="0.1.2",
99
author="David Gasquez",
1010
author_email="[email protected]",
1111
description="Python logger for Buffer services",

0 commit comments

Comments
 (0)