Tips Spring : [BOOT] banner ASCII de inicio

logo springAl iniciarse una aplicación Spring Boot se muestra por consola un logotipo con el número de versión.


Esta funcionalidad puede configurarse en el fichero application.properties o application.yml con la opción spring.main.banner-mode que cuenta actualmente (Spring Boot 2.1) con las siguientes opciones.

  • none: no se muestra.
  • console: el banner se muestra en la consola, esto es, en la salida estándar de la máquina virtual Java (JVM) que ejecuta la aplicación. Este es el comportamiento por defecto.
  • log: el banner se imprime en el log con el nivel INFO utilizando el mismo logger que el empleado para los mensajes del log de la clase anotada con @SpringBootApplication.

El logotipo puede ser personalizado para nuestras aplicaciones definiéndolo en formato Arte ASCII en el fichero ubicado por defecto en /src/main/resources/banner.txt o bien en cualquier otro fichero indicado con la propiedad spring.banner.location

El siguiente banner ha sido creado a partir de un texto con esta web.

Al texto ASCII se le pueden aplicar los colores definidos en el enumerado AnsiColor del siguiente modo.

${AnsiColor.DEFAULT}
${Ansi.GREEN}  $$$$$$$$\ $$\                           ${Ansi.BRIGHT_GREEN}  $$$$$$\                      $$\                     
${Ansi.GREEN} \__$$  __|\__|                          ${Ansi.BRIGHT_GREEN}  $$  __$$\                     \__|                    
${Ansi.GREEN}    $$ |   $$\  $$$$$$\   $$$$$$$\       ${Ansi.BRIGHT_GREEN} $$ /  \__| $$$$$$\   $$$$$$\  $$\ $$$$$$$\   $$$$$$\  
${Ansi.GREEN}    $$ |   $$ |$$  __$$\ $$  _____|      ${Ansi.BRIGHT_GREEN} \$$$$$$\  $$  __$$\ $$  __$$\ $$ |$$  __$$\ $$  __$$\ 
${Ansi.GREEN}    $$ |   $$ |$$ /  $$ |\$$$$$$\        ${Ansi.BRIGHT_GREEN} \____$$\ $$ /  $$ |$$ |  \__|$$ |$$ |  $$ |$$ /  $$ |
${Ansi.GREEN}    $$ |   $$ |$$ |  $$ | \____$$\       ${Ansi.BRIGHT_GREEN} $$\   $$ |$$ |  $$ |$$ |      $$ |$$ |  $$ |$$ |  $$ |
${Ansi.GREEN}    $$ |   $$ |$$$$$$$  |$$$$$$$  |      ${Ansi.BRIGHT_GREEN} \$$$$$$  |$$$$$$$  |$$ |      $$ |$$ |  $$ |\$$$$$$$ |
${Ansi.GREEN}    \__|   \__|$$  ____/ \_______/       ${Ansi.BRIGHT_GREEN}  \______/ $$  ____/ \__|      \__|\__|  \__| \____$$ |
${Ansi.GREEN}               $$ |                      ${Ansi.BRIGHT_GREEN}           $$ |                              $$\   $$ |
${Ansi.GREEN}               $$ |                      ${Ansi.BRIGHT_GREEN}           $$ |                              \$$$$$$  |
${Ansi.GREEN}               \__|                      ${Ansi.BRIGHT_GREEN}           \__|                               \______/
${Ansi.BLUE} == Spring Boot${spring-boot.formatted-version} == ${Ansi.DEFAULT}

En el ejemplo anterior se ha incluido el número de versión de Spring Boot. La siguiente imagen muestra el resultado en una consola que soporta coloreado ANSI, concretamente en Eclipse con este plugin.

También es posible mostrar la imagen ubicada por defecto en /src/main/resources/banner.png o la indicada por la propiedad spring.banner.image.location aunque el resultado no es muy bueno y además ralentiza el arranque de la aplicación por lo que esta práctica no es recomendable.

Otros tutoriales relacionados con Spring

Introducción a Spring Boot: Aplicación Web con servicios REST y Spring Data JPA

Spring Boot: Gestión de errores en aplicaciones web y REST

Testing en Spring Boot con JUnit 45. Mockito, MockMvc, REST Assured, bases de datos embebidas

Spring JDBC Template: simplificando el uso de SQL

Persistencia en BD con Spring Data JPA

Ficheros .properties en Spring IoC

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.