pattern nopex name baeldung java logging log4j logback

java - nopex - logback pattern



logback muestra registros con número de línea (2)

El manual de Logback dice

En PatternLayout, los paréntesis se pueden usar para agrupar patrones de conversión. De ello se deduce que el ''('' y '')'' tienen un significado especial y deben escaparse si se pretende que se utilicen como literales. La naturaleza especial del paréntesis se explica a continuación.

[...]

Si necesita tratar el carácter de paréntesis como un literal, debe eliminarse precediendo cada paréntesis con una barra invertida. Como en, /(%d{HH:mm:ss.SSS} [%thread]/) .

Tendrás que escapar del paréntesis con una / .

%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}.%M/(%line/) - %msg%n

Quiero escribir el registro como:

2014-04-17 11:00:16.408 [http-apr-9090-exec-4] DEBUG package.method(line) - log.

así que configuro el logback.xml, en el patrón, la configuración como:

%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}.%M(%line) - %msg%n

Todo se muestra bien, excepto el número de línea, y si agrego un conjunto como

%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}.%M %line - %msg%n

Entonces todo funciona. por lo que debe haber algo mal con mi configuración.
¿Podría alguien ayudarme? Gracias. Quiero mostrar como lo que quiero, y no hay espacio entre el nombre del método y el número de línea.


Una nota para cualquiera que se tope con esta página en busca de cómo configurar esto en el archivo application.properties, tuve éxito al escapar del paréntesis agregando dos barras invertidas.

%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}.%M //(%line//) - %msg%n