Iniciar sesión desde la aplicación Java a ELK sin necesidad de analizar registros

Quiero enviar registros desde una aplicación Java a ElasticSearch, y el enfoque convencional parece ser configurar Logstash en el servidor que ejecuta la aplicación, y hacer que logstash analice los archivos de registro (con regex ...!) Y los cargue en ElasticSearch .

¿Hay alguna razón para que se haga de esta manera, en lugar de simplemente configurar log4J (o logback) para registrar cosas en el formato deseado directamente en un recopilador de registros que luego se puede enviar a ElasticSearch de forma asincrónica? Me parece una locura tener que manipular los filtros grok para lidiar con los rastros de la pila multilínea (y grabar los ciclos de la CPU en el análisis de registros) cuando la aplicación en sí podría simplemente registrar el formato deseado en primer lugar.

En una nota relacionada tangencialmente, para las aplicaciones que se ejecutan en un contenedor Docker, ¿es la mejor práctica iniciar sesión directamente en ElasticSearch, dada la necesidad de ejecutar un solo proceso?

Respuestas a la pregunta(3)

Su respuesta a la pregunta