Skip to content

Commit 2a0282c

Browse files
authored
Logging API hide std_to_otel function to convert python logging severity to otel severity (#4649)
1 parent 62112ca commit 2a0282c

File tree

4 files changed

+63
-63
lines changed

4 files changed

+63
-63
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2626
([#4637](https://github.com/open-telemetry/opentelemetry-python/pull/4637))
2727
- Logging API accepts optional `context`; deprecates `trace_id`, `span_id`, `trace_flags`.
2828
([#4597](https://github.com/open-telemetry/opentelemetry-python/pull/4597))
29+
- Logging API hide std_to_otel function to convert python logging severity to otel severity
30+
([#4649](https://github.com/open-telemetry/opentelemetry-python/pull/4649))
2931

3032
## Version 1.34.0/0.55b0 (2025-06-04)
3133

opentelemetry-api/src/opentelemetry/_logs/__init__.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
get_logger_provider,
4444
set_logger_provider,
4545
)
46-
from opentelemetry._logs.severity import SeverityNumber, std_to_otel
46+
from opentelemetry._logs.severity import SeverityNumber
4747

4848
__all__ = [
4949
"Logger",
@@ -55,5 +55,4 @@
5555
"get_logger_provider",
5656
"set_logger_provider",
5757
"SeverityNumber",
58-
"std_to_otel",
5958
]

opentelemetry-api/src/opentelemetry/_logs/severity/__init__.py

Lines changed: 0 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -53,63 +53,3 @@ class SeverityNumber(enum.Enum):
5353
FATAL2 = 22
5454
FATAL3 = 23
5555
FATAL4 = 24
56-
57-
58-
_STD_TO_OTEL = {
59-
10: SeverityNumber.DEBUG,
60-
11: SeverityNumber.DEBUG2,
61-
12: SeverityNumber.DEBUG3,
62-
13: SeverityNumber.DEBUG4,
63-
14: SeverityNumber.DEBUG4,
64-
15: SeverityNumber.DEBUG4,
65-
16: SeverityNumber.DEBUG4,
66-
17: SeverityNumber.DEBUG4,
67-
18: SeverityNumber.DEBUG4,
68-
19: SeverityNumber.DEBUG4,
69-
20: SeverityNumber.INFO,
70-
21: SeverityNumber.INFO2,
71-
22: SeverityNumber.INFO3,
72-
23: SeverityNumber.INFO4,
73-
24: SeverityNumber.INFO4,
74-
25: SeverityNumber.INFO4,
75-
26: SeverityNumber.INFO4,
76-
27: SeverityNumber.INFO4,
77-
28: SeverityNumber.INFO4,
78-
29: SeverityNumber.INFO4,
79-
30: SeverityNumber.WARN,
80-
31: SeverityNumber.WARN2,
81-
32: SeverityNumber.WARN3,
82-
33: SeverityNumber.WARN4,
83-
34: SeverityNumber.WARN4,
84-
35: SeverityNumber.WARN4,
85-
36: SeverityNumber.WARN4,
86-
37: SeverityNumber.WARN4,
87-
38: SeverityNumber.WARN4,
88-
39: SeverityNumber.WARN4,
89-
40: SeverityNumber.ERROR,
90-
41: SeverityNumber.ERROR2,
91-
42: SeverityNumber.ERROR3,
92-
43: SeverityNumber.ERROR4,
93-
44: SeverityNumber.ERROR4,
94-
45: SeverityNumber.ERROR4,
95-
46: SeverityNumber.ERROR4,
96-
47: SeverityNumber.ERROR4,
97-
48: SeverityNumber.ERROR4,
98-
49: SeverityNumber.ERROR4,
99-
50: SeverityNumber.FATAL,
100-
51: SeverityNumber.FATAL2,
101-
52: SeverityNumber.FATAL3,
102-
53: SeverityNumber.FATAL4,
103-
}
104-
105-
106-
def std_to_otel(levelno: int) -> SeverityNumber:
107-
"""
108-
Map python log levelno as defined in https://docs.python.org/3/library/logging.html#logging-levels
109-
to OTel log severity number as defined here: https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/logs/data-model.md#field-severitynumber
110-
"""
111-
if levelno < 10:
112-
return SeverityNumber.UNSPECIFIED
113-
if levelno > 53:
114-
return SeverityNumber.FATAL4
115-
return _STD_TO_OTEL[levelno]

opentelemetry-sdk/src/opentelemetry/sdk/_logs/_internal/__init__.py

Lines changed: 60 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@
3535
SeverityNumber,
3636
get_logger,
3737
get_logger_provider,
38-
std_to_otel,
3938
)
4039
from opentelemetry.attributes import _VALID_ANY_VALUE_TYPES, BoundedAttributes
4140
from opentelemetry.context import get_current
@@ -797,3 +796,63 @@ def force_flush(self, timeout_millis: int = 30000) -> bool:
797796
False otherwise.
798797
"""
799798
return self._multi_log_record_processor.force_flush(timeout_millis)
799+
800+
801+
_STD_TO_OTEL = {
802+
10: SeverityNumber.DEBUG,
803+
11: SeverityNumber.DEBUG2,
804+
12: SeverityNumber.DEBUG3,
805+
13: SeverityNumber.DEBUG4,
806+
14: SeverityNumber.DEBUG4,
807+
15: SeverityNumber.DEBUG4,
808+
16: SeverityNumber.DEBUG4,
809+
17: SeverityNumber.DEBUG4,
810+
18: SeverityNumber.DEBUG4,
811+
19: SeverityNumber.DEBUG4,
812+
20: SeverityNumber.INFO,
813+
21: SeverityNumber.INFO2,
814+
22: SeverityNumber.INFO3,
815+
23: SeverityNumber.INFO4,
816+
24: SeverityNumber.INFO4,
817+
25: SeverityNumber.INFO4,
818+
26: SeverityNumber.INFO4,
819+
27: SeverityNumber.INFO4,
820+
28: SeverityNumber.INFO4,
821+
29: SeverityNumber.INFO4,
822+
30: SeverityNumber.WARN,
823+
31: SeverityNumber.WARN2,
824+
32: SeverityNumber.WARN3,
825+
33: SeverityNumber.WARN4,
826+
34: SeverityNumber.WARN4,
827+
35: SeverityNumber.WARN4,
828+
36: SeverityNumber.WARN4,
829+
37: SeverityNumber.WARN4,
830+
38: SeverityNumber.WARN4,
831+
39: SeverityNumber.WARN4,
832+
40: SeverityNumber.ERROR,
833+
41: SeverityNumber.ERROR2,
834+
42: SeverityNumber.ERROR3,
835+
43: SeverityNumber.ERROR4,
836+
44: SeverityNumber.ERROR4,
837+
45: SeverityNumber.ERROR4,
838+
46: SeverityNumber.ERROR4,
839+
47: SeverityNumber.ERROR4,
840+
48: SeverityNumber.ERROR4,
841+
49: SeverityNumber.ERROR4,
842+
50: SeverityNumber.FATAL,
843+
51: SeverityNumber.FATAL2,
844+
52: SeverityNumber.FATAL3,
845+
53: SeverityNumber.FATAL4,
846+
}
847+
848+
849+
def std_to_otel(levelno: int) -> SeverityNumber:
850+
"""
851+
Map python log levelno as defined in https://docs.python.org/3/library/logging.html#logging-levels
852+
to OTel log severity number as defined here: https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/logs/data-model.md#field-severitynumber
853+
"""
854+
if levelno < 10:
855+
return SeverityNumber.UNSPECIFIED
856+
if levelno > 53:
857+
return SeverityNumber.FATAL4
858+
return _STD_TO_OTEL[levelno]

0 commit comments

Comments
 (0)