Saltar al contenido

propiedad spring boot, logback y logging.config

La guía o código que verás en este post es la solución más sencilla y efectiva que encontramos a tus dudas o dilema.

Solución:

Encontré una solución y entendí por qué Spring no usa mi propiedad ‘logging.config’ definida en el application.properties expediente.

Solución y explicación:

Al inicializar el registro, Spring Boot solo busca en classpath o variables de entorno.

La solución que utilicé fue incluir un archivo principal logback.xml que incluía el archivo de configuración de registro correcto de acuerdo con el perfil de primavera.

inicio de sesión.xml:


    

volver a iniciar sesión-[profile].xml (en este caso, logback-dev.xml):



    
    
    
       
           %dISO8601 %p %t %c0.%M - %m%n
           utf8
        
    

    
    
        
    

    
    
        
    


Nota :
‘spring.profiles.active’ debe establecerse en los argumentos de la línea de comando al iniciar la aplicación. EG para propiedades JVM: -Dspring.profiles.active=dev

Documentos de referencia:

  • http://docs.spring.io/spring-boot/docs/current/reference/html/howto-logging.html
  • http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-logging.html
  • http://docs.spring.io/spring-boot/docs/0.5.0.M3/api/org/springframework/boot/context/initializer/LoggingApplicationContextInitializer.html

Editar (múltiples perfiles activos) : Para evitar varios archivos, podríamos usar el procesamiento condicional que requiere la dependencia de Janino (configuración aquí), consulte la documentación condicional. Con este método, también podemos comprobar si hay varios perfiles activos al mismo tiempo. EG (no probé esta solución, así que comente si no funciona):



    
        
         
        
    

    
        
         
        
    

    


Consulte la respuesta de javasenior para ver otro ejemplo de un procesamiento condicional.

Otro enfoque que podría manejar múltiples perfiles es crear un archivo de propiedades separado para cada entorno.

application-prod.properties

logging.config=classpath:logback-prod.xml

application-dev.propiedades

logging.config=classpath:logback-dev.xml

application-local.properties

logging.config=classpath:logback-local.xml

TENGA EN CUENTA

Si no tiene cuidado, podría terminar iniciando sesión en algún lugar inesperado

-Dspring.profiles.active=local,dev //will use logback-dev.xml
-Dspring.profiles.active=dev,local //will use logback-local.xml

En lugar de agregar xml de inicio de sesión separados para cada perfil o tener la condición IF, sugeriría lo siguiente (si tiene menos diferencia en los xml) para facilitar el procesamiento condicional:







Si conservas alguna duda y capacidad de prosperar nuestro noticia puedes dejar una crítica y con deseo lo interpretaremos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *