1616import unittest
1717import warnings
1818
19+ from opentelemetry ._logs .severity import SeverityNumber
1920from opentelemetry .attributes import BoundedAttributes
2021from opentelemetry .sdk ._logs import (
2122 LogDroppedAttributesWarning ,
@@ -30,7 +31,7 @@ def test_log_record_to_json(self):
3031 expected = json .dumps (
3132 {
3233 "body" : "a log line" ,
33- "severity_number" : " None" ,
34+ "severity_number" : None ,
3435 "severity_text" : None ,
3536 "attributes" : None ,
3637 "dropped_attributes" : 0 ,
@@ -56,9 +57,21 @@ def test_log_record_to_json(self):
5657 self .assertEqual (expected , actual .to_json (indent = 4 ))
5758 self .assertEqual (
5859 actual .to_json (indent = None ),
59- '{"body": "a log line", "severity_number": "None" , "severity_text": null, "attributes": null, "dropped_attributes": 0, "timestamp": "1970-01-01T00:00:00.000000Z", "observed_timestamp": "1970-01-01T00:00:00.000000Z", "trace_id": "", "span_id": "", "trace_flags": null, "resource": {"attributes": {"service.name": "foo"}, "schema_url": ""}}' ,
60+ '{"body": "a log line", "severity_number": null , "severity_text": null, "attributes": null, "dropped_attributes": 0, "timestamp": "1970-01-01T00:00:00.000000Z", "observed_timestamp": "1970-01-01T00:00:00.000000Z", "trace_id": "", "span_id": "", "trace_flags": null, "resource": {"attributes": {"service.name": "foo"}, "schema_url": ""}}' ,
6061 )
6162
63+ def test_log_record_to_json_serializes_severity_number_as_int (self ):
64+ actual = LogRecord (
65+ timestamp = 0 ,
66+ severity_number = SeverityNumber .WARN ,
67+ observed_timestamp = 0 ,
68+ body = "a log line" ,
69+ resource = Resource ({"service.name" : "foo" }),
70+ )
71+
72+ decoded = json .loads (actual .to_json ())
73+ self .assertEqual (SeverityNumber .WARN .value , decoded ["severity_number" ])
74+
6275 def test_log_record_bounded_attributes (self ):
6376 attr = {"key" : "value" }
6477
0 commit comments