Escribimos miles de archivos de registro a la vez

¡Hola camaradas!


¿Qué sucede si configuro Spring Boot en una aplicación logging.level.root=TRACE?


Todos los registros se escribirán en un solo archivo, en el que habrá un montón de clases pequeñas.


En el mejor de los casos, con la ayuda sifting appenderpuede dividir un máximo de 1 criterio ("discriminador"), por ejemplo, por el nombre de la secuencia o por el nombre de la clase. Y aun así, habrá un recordatorio del código fuente, que debería admitir los valores discriminadores en "MDC".


¡Pará pará pará! Eliminamos logback, agregamos y con esta configuración simple escribimos en archivos de registro separados para cada clase y nivel de registro, e incluso en directorios separados:


Bobbin.yml


destinations:
  - name: io.infinite.bobbin.config.FileDestinationConfig
    fileName: ("./LOGS/INFINITE/${className}/${level}/${className}_${level}_${date}.log")

Y esto es lo que pasa:



Ahora imagine que le está preguntando a SRE un colega:


-      org.visa.api.Transfer
-     ?
-  ERROR 
- !  .

Por supuesto, conceptualmente todo se precipita hacia ELK (bueno, ya sea splunk o grafana). Pero no siempre se configura en todas partes, y los buenos archivos de registro antiguos siguen siendo relevantes con bastante frecuencia.


Pero creemos que tenemos que ir de lo privado a lo general: ser capaz de hacer los trucos mencionados anteriormente le dará posibilidades a cualquier registrador en la nube. Después de todo, todo depende de la flexibilidad y facilidad de configuración.


Grabamos un video que muestra este ejemplo en su totalidad y que muestra cómo funciona en dinámica:



¡Disfruto ver!


: Java 8 11, Gradle


( — !). , 2020 . logback log4j2. API — , Google Flogger.


Gradle Maven .


— Open Source .
.


!


All Articles