APM agent breaks log.error when using StructuredLogEncoder with ecs format
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 58/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Tranquilo
- Stack tecnológico
- java, spring-boot
- Área
- backend, observability-sre
Línea de trabajo
Comienza reproduciendo el problema con el StructuredLogEncoder de logback-spring.xml configurado para ecs y una llamada a Logger#error(String, Throwable). Examina la interacción entre el APM agent, StructuredLogEncoder y el campo error descrita en el informe. Se considera terminado cuando el registro produce JSON bien formado sin una excepción del appender.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- Java
- Estrellas
- 593
- Forks
- 337
- Merge medio
- 15 h 24 min
- PR fusionados (30 d)
- 15
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de elastic/apm-agent-java
-
agent-java
Dificultad 2/5 1-2 días Aptitud para principiantes 62/100
elastic/apm-agent-java#2844 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
Improve docs and add error log related to illegal activation of transactionPosiblemente ocupada @AzazelSensei la tomó hace 33 días. Abiertodocs good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
elastic/apm-agent-java#850 · 4 comentarios · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
Custom HttpURLConnection throwing unchecked exception can stall the agentPosiblemente ocupada @jackshirazi la tomó hace 5 días. Abiertoagent-java bug
elastic/apm-agent-java#4590 · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
agent-java community triage
elastic/apm-agent-java#4573 · 4 comentarios ·
Los mantenedores suelen responder en 1 día
-
agent-java
Dificultad 4/5 3-5 días Aptitud para principiantes 55/100
elastic/apm-agent-java#4549 ·
Los mantenedores suelen responder en 1 día
Todos los issues de elastic/apm-agent-java
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
apache/rocketmq-dashboard#6331 ·
Los mantenedores suelen responder en 5 días
-
Upgrade to Commons Codec 1.23.0Abiertostatus: team-only type: dependency-upgrade
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
spring-projects/spring-boot#52143 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
area/frontend good first issue kind/cooldown
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
kestra-io/kestra#20704 · 1 comentario ·
Los mantenedores suelen responder en 1 día