Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> Java

Registro de Java

Registro de Java

En este tutorial, aprenderemos sobre el registro de Java y sus diversos componentes con la ayuda de ejemplos.

Java nos permite crear y capturar mensajes y archivos de registro a través del proceso de registro.

En Java, el registro requiere marcos y API. Java tiene un marco de registro incorporado en el java.util.logging paquete.

También podemos usar marcos de terceros como Log4j, Logback y muchos más para fines de registro.


Componentes de registro de Java

La siguiente figura representa los componentes principales y el flujo de control de la API de registro de Java (java.util.logging ).

1. Registrador

El Logger La clase proporciona métodos para iniciar sesión. Podemos instanciar objetos desde el Logger clase y llame a sus métodos para fines de registro.

Tomemos un ejemplo.

Logger logger = Logger.getLogger("newLoggerName");

El getLogger() método del Logger class se usa para encontrar o crear un nuevo Logger . El argumento de cadena define el nombre del registrador.

Aquí, esto crea un nuevo Logger objeto o devuelve un Logger existente con el mismo nombre.

Es una convención definir un Logger después de la clase actual usando class.getName() .

Logger logger = Logger.getLogger(MyClass.class.getName());

Nota: Este método arrojará NullPointerException si el nombre pasado es null .

Cada Logger tiene un nivel que determina la importancia del mensaje de registro. Hay 7 niveles de registro básicos:

Nivel de registro (en orden descendente) Usar
GRAVE fallo grave
ADVERTENCIA mensaje de advertencia, un problema potencial
INFORMACIÓN información general de tiempo de ejecución
CONFIGURAR información de configuración
BIEN información general del desarrollador (mensajes de seguimiento)
MEJOR información detallada del desarrollador (mensajes de seguimiento)
MEJOR información muy detallada del desarrollador (mensajes de seguimiento)
DESACTIVADO desactivar registro para todos los niveles (no capturar nada)
TODOS activar registro para todos los niveles (capturar todo)

Cada nivel de registro tiene un valor entero que determina su gravedad excepto dos niveles de registro especiales OFF y ALL .


Registrando el mensaje

De forma predeterminada, siempre se registran los tres niveles de registro superiores. Para establecer un nivel diferente, podemos usar el siguiente código:

logger.setLevel(Level.LogLevel);

// example
logger.setLevel(Level.FINE);

En este ejemplo, solo el nivel FINE y los niveles superiores están configurados para ser registrados. Todos los demás mensajes de registro se eliminan.

Ahora para registrar un mensaje, usamos el log() método.

logger.log(Level.LogLevel, "log message");

// example
logger.log(Level.INFO, "This is INFO log level message");

Existen métodos abreviados para iniciar sesión en los niveles deseados.

logger.info( "This is INFO log level message");
logger.warning( "This is WARNING log level message");

Todas las solicitudes de registro que han superado el nivel de registro establecido se reenvían a LogRecord .

Nota: Si el nivel de un registrador se establece en null , su nivel se hereda de su padre y así sucesivamente en el árbol.


2. Filtros

Un filtro (si está presente) determina si LogRecord debe reenviarse o no. Como sugiere el nombre, filtra los mensajes de registro según criterios específicos.

Un Registro de registro solo se pasa del registrador al controlador de registros y del controlador de registros a sistemas externos si cumple los criterios especificados.

// set a filter
logger.setFilter(filter);

// get a filter
Filter filter = logger.getFilter();

3. Manejadores (Adjuntos)

El controlador de registro o los anexadores reciben el LogRecord y lo exporta a varios destinos.

Java SE proporciona 5 controladores integrados:

Manejadores Usar
StreamHandler escribe en un OutputStream
ConsoleHandler escribe en la consola
FileHandler escribe en el archivo
SocketHandler escribe en puertos TCP remotos
MemoryHandler escribe en la memoria

Un controlador puede pasar el LogRecord a un filtro para determinar nuevamente si se puede reenviar a sistemas externos o no.

Para agregar un nuevo controlador, usamos el siguiente código:

logger.addHandler(handler);

// example
Handler handler = new ConsoleHandler();
logger.addHandler(handler);

Para eliminar un controlador, usamos el siguiente código:

logger.removeHandler(handler);

// example
Handler handler = new ConsoleHandler();
logger.addHandler(handler);
logger.removeHandler(handler);

Un registrador puede tener varios controladores. Para obtener todos los controladores, usamos el siguiente código:

Handler[] handlers = logger.getHandlers();

4. Formateadores

Un controlador también puede usar un formateador para formatear el LogRecord objeto en una cadena antes de exportarlo a sistemas externos.

Java SE tiene dos formateadores integrados :

Formatadores Usar
SimpleFormatter formatos Registro a cadena
XMLFormatter formatos Registro a formulario XML

Podemos usar el siguiente código para formatear un controlador:

// formats to string form
handler.setFormatter(new SimpleFormatter());

// formats to XML form
handler.setFormatter(new XMLFormatter());

Administrador de registros

El Administrador de registros El objeto realiza un seguimiento de la información de registro global. Lee y mantiene la configuración de registro y las instancias del registrador.

El administrador de registros es un singleton, lo que significa que solo se crea una instancia de él.

Para obtener la instancia del administrador de registros, usamos el siguiente código:

LogManager manager = new LogManager();

Ventajas del Registro

Estas son algunas de las ventajas de iniciar sesión en Java.


Java

  1. Operadores Java
  2. Comentarios Java
  3. Java para cada bucle
  4. Cadenas Java
  5. Interfaz Java
  6. Clase anónima de Java
  7. Prueba de Java con recursos
  8. Anotaciones Java
  9. Aserciones de Java
  10. Java Vector
  11. Iniciar sesión en Java:Sugerencias clave a tener en cuenta