Skip to content

Commit 38a9e1e

Browse files
committed
Add configuration of logel level and formatting to auto
instrumentation
1 parent 01a670e commit 38a9e1e

File tree

2 files changed

+30
-1
lines changed

2 files changed

+30
-1
lines changed

opentelemetry-sdk/src/opentelemetry/sdk/_configuration/__init__.py

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,9 @@
4343
OTEL_EXPORTER_OTLP_TRACES_PROTOCOL,
4444
OTEL_TRACES_SAMPLER,
4545
OTEL_TRACES_SAMPLER_ARG,
46+
OTEL_LOG_LEVEL,
47+
OTEL_PYTHON_LOG_LEVEL,
48+
OTEL_PYTHON_LOG_FORMAT,
4649
)
4750
from opentelemetry.sdk.metrics import MeterProvider
4851
from opentelemetry.sdk.metrics.export import (
@@ -238,6 +241,17 @@ def _init_logging(
238241
exporters: Dict[str, Type[LogExporter]],
239242
resource: Resource = None,
240243
):
244+
print("_init_logging")
245+
log_format = environ.get(OTEL_PYTHON_LOG_FORMAT, logging.BASIC_FORMAT)
246+
LEVELS = {
247+
"debug": logging.DEBUG,
248+
"info": logging.INFO,
249+
"warning": logging.WARNING,
250+
"error": logging.ERROR,
251+
}
252+
# log_level = LEVELS.get(environ.get(OTEL_PYTHON_LOG_LEVEL, "info"), logging.INFO)
253+
log_level = LEVELS.get(environ.get(OTEL_PYTHON_LOG_LEVEL), logging.INFO)
254+
241255
provider = LoggerProvider(resource=resource)
242256
set_logger_provider(provider)
243257

@@ -249,7 +263,17 @@ def _init_logging(
249263

250264
handler = LoggingHandler(level=logging.NOTSET, logger_provider=provider)
251265

252-
logging.getLogger().addHandler(handler)
266+
# fmt = Formatter(fs, dfs, style)
267+
# handler.setFormatter(fmt)
268+
# logging.getLogger().addHandler(handler)
269+
# logging.getLogger().setLevel(log_level)
270+
# logging.getLogger().addHandler(handler)
271+
272+
logging.basicConfig(
273+
format=log_format,
274+
level=log_level,
275+
handlers=(handler,)
276+
)
253277

254278

255279
def _import_exporters(
@@ -364,6 +388,7 @@ def _initialize_components(
364388
id_generator: IdGenerator = None,
365389
logging_enabled: Optional[bool] = None,
366390
):
391+
print("_initialize_components")
367392
if trace_exporter_names is None:
368393
trace_exporter_names = []
369394
if metric_exporter_names is None:

opentelemetry-sdk/src/opentelemetry/sdk/environment_variables/__init__.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,10 @@
5353
The :envvar:`OTEL_LOG_LEVEL` environment variable sets the log level used by the SDK logger
5454
Default: "info"
5555
"""
56+
# TODO: OTEL_LOG_LEVEL vs OTEL_PYTHON_LOG_LEVEL
57+
# TODO: add docstring
58+
OTEL_PYTHON_LOG_FORMAT = "OTEL_PYTHON_LOG_FORMAT"
59+
OTEL_PYTHON_LOG_LEVEL = "OTEL_PYTHON_LOG_LEVEL"
5660

5761
OTEL_TRACES_SAMPLER = "OTEL_TRACES_SAMPLER"
5862
"""

0 commit comments

Comments
 (0)