FileLogger
Clase de utilidad para escribir entradas de log con marca de tiempo en ficheros con fecha en el directorio de logs de OpenKM. Los ficheros de log se llaman <baseName>_yyyyMMdd.log y se crean o se les añade contenido en la carpeta Config.LOG_DIR.
FileLogger admite dos modos de uso:
- Modo instancia: construya un
FileLogger, llame a métodos de instancia y luego llame aclose(). - Modo estático: llame directamente a las sobrecargas estáticas sin instanciar. Cada llamada abre y cierra el fichero automáticamente.
Uso en modo instancia
Sección titulada «Uso en modo instancia»Constructor
Sección titulada «Constructor»Descripción:
| Constructor | Descripción |
|---|---|
| FileLogger(String baseName) | Crea un nuevo FileLogger que añade contenido al fichero <LOG_DIR>/<baseName>_yyyyMMdd.log. |
- baseName: el nombre base del fichero de log, sin sufijo de fecha ni extensión.
info (instancia)
Sección titulada «info (instancia)»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| info(String message, Object… params) | void | Escribe una entrada de nivel INFO en el fichero de log. Admite marcadores de posición del tipo %s / {0}. |
warn (instancia)
Sección titulada «warn (instancia)»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| warn(String message, Object… params) | void | Escribe una entrada de nivel WARN en el fichero de log. |
error (instancia)
Sección titulada «error (instancia)»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| error(String message, Object… params) | void | Escribe una entrada de nivel ERROR en el fichero de log. |
Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| close() | void | Cierra el escritor de fichero subyacente. Debe llamarse cuando la instancia ya no sea necesaria. |
Ejemplo (modo instancia):
package com.openkm;
import com.openkm.util.FileLogger;
public class Test {
public static void main(String[] args) { FileLogger logger = new FileLogger("myProcess"); try { logger.info("Starting process for user %s", "admin"); logger.warn("Retrying step %s", "step1"); logger.error("Failed with code %s", "500"); } finally { logger.close(); } }}Uso en modo estático
Sección titulada «Uso en modo estático»info (estático, sin Logger)
Sección titulada «info (estático, sin Logger)»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| info(String baseName, String message, Object… params) | void | Escribe una entrada de nivel INFO en el fichero de log identificado por baseName. |
- baseName: el nombre base del fichero de log.
- message: el texto del mensaje. Admite marcadores de posición del tipo
%sy{0}. - params: valores de sustitución opcionales.
info (estático, con Logger)
Sección titulada «info (estático, con Logger)»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| info(Logger logger, String baseName, String message, Object… params) | void | Escribe una entrada de nivel INFO tanto en el fichero como en el logger SLF4J proporcionado. |
Ejemplo:
package com.openkm;
import com.openkm.util.FileLogger;
public class Test {
public static void main(String[] args) { try { FileLogger.info("logName", "This is info"); FileLogger.info("logName", "Parameters: %s %s", "one", "two"); } catch (Exception e) { e.printStackTrace(); } }}warn (estático, sin Logger)
Sección titulada «warn (estático, sin Logger)»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| warn(String baseName, String message, Object… params) | void | Escribe una entrada de nivel WARN en el fichero de log identificado por baseName. |
warn (estático, con Logger)
Sección titulada «warn (estático, con Logger)»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| warn(Logger logger, String baseName, String message, Object… params) | void | Escribe una entrada de nivel WARN tanto en el fichero como en el logger SLF4J proporcionado. |
Ejemplo:
package com.openkm;
import com.openkm.util.FileLogger;
public class Test {
public static void main(String[] args) { try { FileLogger.warn("logName", "This is warning"); FileLogger.warn("logName", "Parameters: %s %s", "one", "two"); } catch (Exception e) { e.printStackTrace(); } }}error (estático, sin Logger)
Sección titulada «error (estático, sin Logger)»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| error(String baseName, String message, Object… params) | void | Escribe una entrada de nivel ERROR en el fichero de log identificado por baseName. |
error (estático, con Logger y mensaje)
Sección titulada «error (estático, con Logger y mensaje)»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| error(Logger logger, String baseName, String message, Object… params) | void | Escribe una entrada de nivel ERROR tanto en el fichero como en el logger SLF4J proporcionado. |
error (estático, con Logger y Throwable)
Sección titulada «error (estático, con Logger y Throwable)»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| error(Logger logger, String baseName, String message, Throwable e) | void | Escribe una entrada de nivel ERROR combinando el mensaje proporcionado con la traza de pila completa de e, tanto en el fichero como en el logger SLF4J. |
error (estático, solo Throwable)
Sección titulada «error (estático, solo Throwable)»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| error(Logger logger, String baseName, Throwable e) | void | Escribe una entrada de nivel ERROR usando el mensaje de la excepción y la traza de pila completa, tanto en el fichero como en el logger SLF4J. |
Ejemplo:
package com.openkm;
import com.openkm.util.FileLogger;import org.slf4j.Logger;import org.slf4j.LoggerFactory;
public class Test {
private static final Logger log = LoggerFactory.getLogger(Test.class);
public static void main(String[] args) { try { // Static without logger FileLogger.error("logName", "This is error"); FileLogger.error("logName", "Parameters: %s %s", "one", "two");
// Static with logger and throwable throw new RuntimeException("something failed"); } catch (Exception e) { FileLogger.error(log, "logName", "Unexpected error", e); } }}