|
14 | 14 | from inline_snapshot import snapshot |
15 | 15 | from opentelemetry import trace |
16 | 16 | from opentelemetry._events import Event, get_event_logger |
17 | | -from opentelemetry._logs import LogRecord, SeverityNumber, get_logger |
| 17 | +from opentelemetry._logs import SeverityNumber, get_logger |
| 18 | +from opentelemetry.sdk._logs import LogRecord |
18 | 19 | from opentelemetry.sdk.trace import ReadableSpan |
| 20 | +from opentelemetry.version import __version__ as otel_version |
19 | 21 |
|
20 | 22 | import logfire |
21 | 23 | from logfire import ConsoleOptions |
|
25 | 27 | ShowParentsConsoleSpanExporter, |
26 | 28 | SimpleConsoleSpanExporter, |
27 | 29 | ) |
| 30 | +from logfire._internal.utils import get_version |
28 | 31 | from logfire.testing import TestExporter |
29 | 32 | from tests.utils import ReadableSpanModel, SpanContextModel, exported_spans_as_models |
30 | 33 |
|
@@ -886,36 +889,59 @@ def test_console_otel_logs(capsys: pytest.CaptureFixture[str]): |
886 | 889 | send_to_logfire=False, |
887 | 890 | console=ConsoleOptions(colors='never', include_timestamps=False, include_tags=False), |
888 | 891 | ) |
| 892 | + logger = get_logger('logs') |
| 893 | + event_logger = get_event_logger('events') |
889 | 894 |
|
890 | 895 | with logfire.span('span'): |
891 | | - get_event_logger('events').emit( |
892 | | - Event( |
893 | | - name='my_event', |
894 | | - severity_number=SeverityNumber.ERROR, |
895 | | - body='body', |
896 | | - attributes={'key': 'value'}, |
| 896 | + if get_version(otel_version) >= get_version('1.35.0'): |
| 897 | + logger.emit( |
| 898 | + LogRecord( |
| 899 | + event_name='my_event', |
| 900 | + severity_number=SeverityNumber.ERROR, |
| 901 | + body='body', |
| 902 | + attributes={'key': 'value'}, |
| 903 | + ) |
897 | 904 | ) |
898 | | - ) |
899 | | - get_event_logger('events').emit( |
900 | | - Event( |
901 | | - name='my_event', |
902 | | - attributes={ATTRIBUTES_MESSAGE_KEY: 'msg'}, |
| 905 | + logger.emit( |
| 906 | + LogRecord( |
| 907 | + event_name='my_event', |
| 908 | + attributes={ATTRIBUTES_MESSAGE_KEY: 'msg'}, |
| 909 | + ) |
903 | 910 | ) |
904 | | - ) |
905 | | - get_logger('logs').emit( |
906 | | - LogRecord( |
907 | | - severity_number=SeverityNumber.INFO, |
908 | | - attributes={'key': 'value'}, |
| 911 | + logger.emit( |
| 912 | + LogRecord( |
| 913 | + severity_number=SeverityNumber.INFO, |
| 914 | + attributes={'key': 'value'}, |
| 915 | + ) |
| 916 | + ) |
| 917 | + else: |
| 918 | + event_logger.emit( |
| 919 | + Event( |
| 920 | + name='my_event', |
| 921 | + severity_number=SeverityNumber.ERROR, |
| 922 | + body='body', |
| 923 | + attributes={'key': 'value'}, |
| 924 | + ) |
| 925 | + ) |
| 926 | + event_logger.emit( |
| 927 | + Event( |
| 928 | + name='my_event', |
| 929 | + attributes={ATTRIBUTES_MESSAGE_KEY: 'msg'}, |
| 930 | + ) |
| 931 | + ) |
| 932 | + logger.emit( |
| 933 | + LogRecord( |
| 934 | + severity_number=SeverityNumber.INFO, |
| 935 | + attributes={'key': 'value'}, |
| 936 | + ) |
909 | 937 | ) |
910 | | - ) |
911 | 938 |
|
912 | 939 | assert capsys.readouterr().out.splitlines() == snapshot( |
913 | 940 | [ |
914 | 941 | 'span', |
915 | 942 | ' my_event: body', |
916 | 943 | ' msg', |
917 | | - # Non-event logs don't get the parent span context by default, so no indentation for this line. |
918 | | - "{'key': 'value'}", |
| 944 | + " {'key': 'value'}", |
919 | 945 | ] |
920 | 946 | ) |
921 | 947 |
|
|
0 commit comments