es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo solucionar el problema con los símbolos cirílicos en el libro de registro.

Acabo de agregar la implementación ‘org.zalando:logbook-parent:2.14.0’ a mi proyecto basado en la versión ‘org.springframework.boot’ 2.4.3 y Java 11.

En el archivo application.yml se encuentran las siguientes propiedades:

logbook:
  format:
    style: http
logging:
  level:
    org:
      hibernate:
        SQL: DEBUG
      springframework:
        web: DEBUG
        security: INFO
      zalando:
        logbook: TRACE

Los registros de Spring están bien y se ven como “bankName”: “ПОЧТА банк”. Sin embargo, los registros de zalando.logbook se muestran como “bankName”:”ПОЧТРбанк”.

Agregué lo siguiente al archivo build.gradle, pero no cambió nada:

tasks.withType(JavaCompile) {
        options.encoding = 'UTF-8'
}

¿Qué debo hacer para solucionar este problema de codificación?

Gracias de antemano.

Nota: Para leer los registros utilizo Kibana + Elastic.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    El problema está relacionado con la codificación de caracteres. Los registros de Spring se están mostrando correctamente, pero los registros de Zalando logbook están mostrando caracteres ilegibles. Esto se debe a que la codificación utilizada por Zalando logbook es diferente a la codificación utilizada por Spring.

    Para solucionar este problema, es necesario establecer la codificación para Zalando logbook a UTF-8. Ya has agregado tasks.withType(JavaCompile) { options.encoding = 'UTF-8' } a build.gradle, pero no parece funcionar.

    Una forma de solucionar esto es agregar la siguiente configuración a application.yml:

    logbook:
      format:
        style: http
      write:
        chunk-size: 8192
      strategy: off
      filter:
        multipart:
          exclude-payloads: true
      http:
        charset: UTF-8
        max-body-size: 32768
    

    Esto establece la codificación para Zalando logbook a UTF-8. Si esto no funciona, intenta establecer la codificación para toda la aplicación de Spring Boot a UTF-8 agregando la siguiente línea a application.yml:

    spring:
      http:
        encoding:
          charset: UTF-8
          force: true
    

    Esto asegurará que todos los registros estén codificados en UTF-8 y se muestren correctamente en Kibana/Elasticsearch.

    Recuerda también verificar la codificación de caracteres del archivo donde se almacenan los registros. Si el archivo no está codificado en UTF-8, los registros aún podrían mostrarse como caracteres ilegibles en Kibana incluso si la codificación para Zalando logbook se establece correctamente.

Comments are closed.