ggrandes / log4j2-simplejson

Simple JSON Layout for Log4J 2.x, without external dependencies

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Soporte para tildes

adrigrillo opened this issue · comments

Buenas,

Me gustaría saber en que momento del proceso se codifica el string que constituye el JSON final, ya que los caracteres con tildes son transformados a su codificación alfanumérica, del tipo ("\u00E1"), representando de forma incorrecta los mensajes con tildes.

He probado a cambiar la codificación del charset que viene en el método createLayout() pero nada.

Gracias y un saludo.

No quisiera responder con Aviones si preguntas por Trenes, pero... realmente quieres hacer eso? me explico, json permite q los caracteres "raros" se escapen siguiendo la codificacion Unicode, en realidad todos los caracteres, incluso los US-ASCII se podrían escapar:

json-string

Si tienes un parser de json standard solo tienes que leer el valor y devolverá ese "\u00E1" a su valor humano. Yo opté por escapar todos los no US-ASCII (modo conservador) al encontrarme con muchos problemas de codificacion mezclada de ISO-8859-1, 8859-15, Windows-1252, UTF-8, etc. Digamos q el parametro charset del createLayout en la practica es como si estuviera hardcoded, la documentacion vale como referencia para saber q va a salir por el json.

No obstante, si estas convencido que quieres cambiar el codigo... (no lo recomiendo), el escapado de los Strings se hace en: EncoderJSON.java

A veces, es bueno responder con aviones. Lo primero, muchas gracias por la explicación. Me parece que seguiré tu consejo y mantendré la cosa como está, a no ser que me pidan lo contrario.

Por otro lado, gracias por abrir esta librería, es justo lo que necesitaba para el proyecto en el que estoy trabajando y, sin ella, todavía me estaría pegando con el JSON layout por defecto. (Acabo de terminar la carrera y todavía no me vería capaz de hacer una cosa así en los tiempos de entrega que tenemos).

Siento si este no era el sitio para esta pregunta, pero no encontré otra forma de ponerme en contacto contigo, gracias de nuevo por responder.

Todo perfecto. Me alegra que el codigo sea util!