Cómo Spring Boot usa JUL para iniciar sesión

Cómo Spring Boot usa JUL para iniciar sesión

En Spring Boot, podemos usar varios marcos de registro para el registro. Entre ellos, JUL (Java Util Logging) es el marco de registro que viene con la plataforma Java, que proporciona una API y una configuración sencillas para facilitar el registro. Este artículo describe cómo usar JUL para iniciar sesión en Spring Boot y proporciona un código de muestra.

inserte la descripción de la imagen aquí

Configurar JUL

De forma predeterminada, Spring Boot usa Logback como marco de registro. Si desea utilizar JUL para iniciar sesión, se requiere alguna configuración. Primero, necesitamos agregar las siguientes dependencias al pom.xmlarchivo :

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter</artifactId>
  <exclusions>
    <exclusion>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-logging</artifactId>
    </exclusion>
  </exclusions>
</dependency>
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-jetty</artifactId>
</dependency>
<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>jul-to-slf4j</artifactId>
  <version>1.7.30</version>
</dependency>

En las dependencias anteriores, excluimos la dependencia del marco de registro predeterminado spring-boot-starter-loggingy agregamos la dependencia del servidor Jetty. Además, hemos agregado una dependencia jul-to-slf4jque convierte el registrador JUL en un registrador SLF4J para usar en Spring Boot.

A continuación, debemos agregar la siguiente configuración al application.propertiesarchivo :

logging.level.root=INFO
logging.level.org.springframework=INFO
logging.level.org.hibernate=INFO
logging.level.com.example=FINEST
logging.config=classpath:logging.properties

En la configuración anterior, especificamos el nivel de registro y la ubicación del archivo de configuración de registro. logging.level.rootRepresenta el nivel de registro del registrador raíz, logging.level.org.springframeworkrepresenta el nivel de registro del marco Spring, logging.level.org.hibernaterepresenta el nivel de registro del marco Hibernate y logging.level.com.examplerepresenta el nivel de registro de nuestra propia aplicación. Aquí, establecemos el nivel de registro de nuestra aplicación en FINEST, indicando el registro más detallado. logging.configIndica la ubicación del archivo de configuración de registro, que estableceremos en classpath:logging.properties.

A continuación, debemos crear un archivo logging.propertiesllamado , que configurará JUL. En este archivo podemos configurar opciones como el nivel de registro de JUL, destino de salida, formateador y filtro. Aquí hay un ejemplo simple:

handlers=java.util.logging.ConsoleHandler
.level=FINEST
java.util.logging.ConsoleHandler.level=FINEST
java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter

En la configuración anterior, especificamos el nivel de registro, el destino de salida y el formateador. handlersSe especifica el destino de salida, aquí enviamos el registro a la consola. .levelIndica el nivel de registro del registrador raíz, java.util.logging.ConsoleHandler.levelel nivel de registro del destino de salida de la consola java.util.logging.ConsoleHandler.formattery el formateador del destino de salida de la consola, que usamos aquí SimpleFormatter.

Usando JUL con Spring Boot

Después de configurar JUL, podemos usar JUL para iniciar sesión en Spring Boot. Primero, necesitamos crear un registrador loggerllamado , por ejemplo:

private static final Logger logger = Logger.getLogger(DemoController.class.getName());

En el código anterior, usamos Logger.getLoggerel método para crear un loggerregistrador llamado , especificando el nombre de la clase donde se encuentra el registrador.

A continuación, podemos iniciar sesión usando el registrador. Por ejemplo:

logger.info("This is an info message.");

En el código anterior, usamos logger.infoel método para registrar un registro de nivel de información.

JUL admite una variedad de niveles de registro, incluidos SEVERE, WARNING, INFO, CONFIG, y niveles. Puede seleccionar un nivel de registro apropiado para grabar de acuerdo con las necesidades reales.FINEFINERFINEST

Además, JUL admite el registro con marcadores de posición, por ejemplo:

String message = "Hello, {}!";
String name = "world";
logger.info(message, name);

En el código anterior, usamos el marcador de posición {}para indicar la parte que debe reemplazarse en el registro y luego pasamos el valor que debe reemplazarse en el método de registro. Este método puede evitar los problemas de rendimiento causados ​​por el empalme de cadenas y también puede evitar el problema de salida de registro incorrecta causada por errores de empalme de cadenas.

Código de muestra

Aquí hay un código de muestra completo que demuestra cómo usar JUL para iniciar sesión en Spring Boot:

import java.util.logging.Logger;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class DemoController {
    
    
    
    private static final Logger logger = Logger.getLogger(DemoController.class.getName());
    
    @GetMapping("/hello")
    public String hello() {
    
    
        logger.info("This is an info message.");
        String message = "Hello, {}!";
        String name = "world";
        logger.info(message, name);
        return "Hello, world!";
    }
}

En el código anterior, creamos DemoControllerun controlador Spring MVC llamado con un hellométodo de controlador llamado . En este método, usamos el método descrito anteriormente para registrar dos registros de nivel de información y devolver una cadena.

Resumir

En este artículo, presentamos cómo usar JUL para iniciar sesión en Spring Boot y proporcionamos un código de muestra. JUL es el marco de registro que viene con la plataforma Java, que proporciona una configuración y una API sencillas para facilitar el registro. Al configurar y usar JUL, podemos realizar registros de manera más conveniente y mejorar la capacidad de mantenimiento y la confiabilidad de la aplicación.

Supongo que te gusta

Origin blog.csdn.net/2302_77835532/article/details/131347819
Recomendado
Clasificación