Skip to content

Commit 72c0ff6

Browse files
committed
Use structlog logger
1 parent c69f577 commit 72c0ff6

File tree

2 files changed

+34
-17
lines changed

2 files changed

+34
-17
lines changed

bufflog/__init__.py

Lines changed: 33 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,21 @@
11
import structlog
22
import logging
3-
import sys
43
import os
4+
import sys
5+
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
513

6-
from structlog import wrap_logger
714
from structlog.processors import JSONRenderer
815
from structlog.stdlib import filter_by_level
916
from structlog.stdlib import add_log_level_number
1017

11-
import ddtrace
12-
from ddtrace.helpers import get_correlation_ids
18+
LOG_LEVEL = os.getenv("LOG_LEVEL", "INFO")
1319

1420

1521
def tracer_injection(logger, log_method, event_dict):
@@ -40,17 +46,28 @@ def increase_level_numbers(_, __, event_dict):
4046
return event_dict
4147

4248

43-
level = os.getenv("LOG_LEVEL", "INFO")
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)
4463

45-
logging.basicConfig(stream=sys.stdout, format="%(message)s", level=level)
46-
bufflog = wrap_logger(
47-
logging.getLogger(__name__),
48-
processors=[
49-
tracer_injection,
50-
filter_by_level,
51-
rename_message_key,
52-
add_log_level_number,
53-
increase_level_numbers,
54-
JSONRenderer(),
55-
],
64+
structlog.configure(
65+
context_class=dict,
66+
logger_factory=structlog.stdlib.LoggerFactory(),
67+
wrapper_class=structlog.stdlib.BoundLogger,
68+
cache_logger_on_first_use=True,
69+
processors=processors,
5670
)
71+
72+
bufflog = structlog.get_logger()
73+
bufflog.setLevel(LOG_LEVEL)

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,6 @@
1212
long_description=long_description,
1313
long_description_content_type="text/markdown",
1414
url="https://github.com/bufferapp/python-bufflog",
15-
install_requires=["structlog", "ddtrace"],
15+
install_requires=["structlog"],
1616
packages=setuptools.find_packages(),
1717
)

0 commit comments

Comments
 (0)