APM agent breaks log.error when using StructuredLogEncoder with ecs format
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 58/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Ít trao đổi
- Công nghệ
- java, spring-boot
- Lĩnh vực
- backend, observability-sre
Hướng nghiên cứu
Bắt đầu bằng cách tái hiện vấn đề với StructuredLogEncoder trong logback-spring.xml được cấu hình cho ecs và một lệnh gọi đến Logger#error(String, Throwable). Kiểm tra sự tương tác giữa APM agent, StructuredLogEncoder và trường error được mô tả trong báo cáo. Được xem là hoàn tất khi việc ghi log tạo ra JSON đúng định dạng mà không có ngoại lệ của appender.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Describe the bug
We are using the version 1.55.5 with experimental Spring Boot 4 support. Since the update we have problems with log.error in SLF4J. This is the logback-spring.xml configuration:
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="org.springframework.boot.logging.logback.StructuredLogEncoder">
<format>ecs</format>
</encoder>
</appender>
When using the apm agent we are seeing this in the logs instead of the real error log:
07:18:54,651 |-ERROR in ch.qos.logback.core.ConsoleAppender[CONSOLE] - Appender [CONSOLE] failed to append. java.lang.IllegalStateException: The name 'error' has already been written
According to my research, this happens if the JSON log already contains a field with the same name, in this case error. Logback uses the field error for a complex object that contains error.message and error.stack_trace. This is also documented in the Elastic Common Schema.
Steps to reproduce
Use the org.springframework.boot.logging.logback.StructuredLogEncoder with ecs format as described and call org.slf4j.Logger#error(java.lang.String, java.lang.Throwable).
Expected behavior
No exception during logging, but a well-formed JSON log containing the error.
- Ngôn ngữ chính
- Java
- Star
- 593
- Fork
- 337
- Merge trung bình
- 15 giờ 24 phút
- Pull request đã merge (30 ngày)
- 15
Chuẩn bị môi trường
- Có Dockerfile hoặc tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của elastic/apm-agent-java
-
agent-java
Độ khó 2/5 1-2 ngày Mức phù hợp với người mới 62/100
elastic/apm-agent-java#2844 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Improve docs and add error log related to illegal activation of transactionCó thể đã có người làm @AzazelSensei đã nhận 34 ngày trước. Đang mởdocs good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
elastic/apm-agent-java#850 · 4 bình luận · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Custom HttpURLConnection throwing unchecked exception can stall the agentCó thể đã có người làm @jackshirazi đã nhận 5 ngày trước. Đang mởagent-java bug
elastic/apm-agent-java#4590 · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
agent-java community triage
elastic/apm-agent-java#4573 · 4 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
agent-java
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 55/100
elastic/apm-agent-java#4549 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của elastic/apm-agent-java
Issue tương tự
-
`RedisList.reversed()` view returns an empty `range` and `trim` removes all elementsCó thể đã có người làm @CCCLL đã nhận hôm nay. Đang mởstatus: waiting-for-triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
spring-projects/spring-data-redis#3461 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
devops-thiago/ThrillhouseBot#1093 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Missing htmx attribute processorĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 67/100
wimdeblauwe/htmx-spring-boot#205 ·
-
[BUG] 增量 SSE 解析器未识别单独 CR 换行,导致事件无法及时交付Có thể đã có người làm @king-wwwhhh đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
langchain4j/langchain4j#6669 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement tech-debt
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Albertinesilva/backend-engineering-journey-java-springboot#41 ·