119 lines
4.7 KiB
Java

package com.banesco.common.infraestructure.helpers;
/**
* Clase utilitaria para la generación de mensajes de registro (logging).
* Facilita la creación de cadenas formateadas para registrar información de
* solicitudes y respuestas, tanto públicas como privadas, así como mensajes de
* error. Utiliza un formato estandarizado para mejorar la legibilidad y
* facilitar el análisis de los registros del sistema.
*/
public class LoggerHelper {
/**
* Construye una cadena de información para una solicitud pública.
*
* @param requestId El ID de la solicitud.
* @param request El objeto de solicitud.
* @param <T> El tipo del objeto de solicitud.
* @return Una cadena de información formateada.
*/
public static <T> String buildInfoRequest(String requestId, T request) {
return String.format("[PUB RQ: %s] [%s]", requestId, JsonHelper.getJsonFromObject(request));
}
/**
* Construye una cadena de información para una solicitud pública.
*
* @param requestId El ID de la solicitud.
* @param request El request en cadena de la solicitud.
* @return Una cadena de información formateada.
*/
public static <T> String buildInfoRequest(String requestId, String request) {
return String.format("[PUB RQ: %s] [%s]", requestId, request);
}
/**
* Construye una cadena de información para una respuesta pública.
*
* @param requestId El ID de la solicitud.
* @param response El objeto de respuesta.
* @param <T> El tipo del objeto de respuesta.
* @return Una cadena de información formateada.
*/
public static <T> String buildInfoResponse(String requestId, T response) {
return String.format("[PUB RS: %s] [%s]", requestId, JsonHelper.getJsonFromObject(response));
}
/**
* Construye una cadena de información para una respuesta pública.
*
* @param requestId El ID de la solicitud.
* @param response El objeto en cadena de respuesta.
* @return Una cadena de información formateada.
*/
public static String buildInfoResponse(String requestId, String response) {
return String.format("[PUB RS: %s] [%s]", requestId, response);
}
/**
* Construye una cadena de información para una solicitud privada.
*
* @param requestId El ID de la solicitud.
* @param name El nombre de la solicitud privada.
* @param request El objeto de solicitud.
* @param <T> El tipo del objeto de solicitud.
* @return Una cadena de información formateada.
*/
public static <T> String buildInfoPrivateRequest(String requestId, String name, T request) {
return String.format("[PRV RQ %s: %s] [%s]", name, requestId, JsonHelper.getJsonFromObject(request));
}
/**
* Construye una cadena de información para una solicitud privada.
*
* @param requestId El ID de la solicitud.
* @param name El nombre de la solicitud privada.
* @param request El objeto en cadena de la solicitud.
* @return Una cadena de información formateada.
*/
public static String buildInfoPrivateRequest(String requestId, String name, String request) {
return String.format("[PRV RQ %s: %s] [%s]", name, requestId, request);
}
/**
* Construye una cadena de información para una respuesta privada.
*
* @param requestId El ID de la solicitud.
* @param name El nombre de la respuesta privada.
* @param response El objeto de respuesta.
* @param <T> El tipo del objeto de respuesta.
* @return Una cadena de información formateada.
*/
public static <T> String buildInfoPrivateResponse(String requestId, String name, T response) {
return String.format("[PRV RS %s: %s] [%s]", name, requestId, JsonHelper.getJsonFromObject(response));
}
/**
* Construye una cadena de información para una respuesta privada.
*
* @param requestId El ID de la solicitud.
* @param name El nombre de la respuesta privada.
* @param response El objeto en cadena de la respuesta.
* @return Una cadena de información formateada.
*/
public static String buildInfoPrivateResponse(String requestId, String name, String response) {
return String.format("[PRV RS %s: %s] [%s]", name, requestId, response);
}
/**
* Construye una cadena de error.
*
* @param requestId El ID de la solicitud asociada al error.
* @param out El mensaje de error.
* @return Una cadena de error formateada.
*/
public static String buildError(String requestId, String out) {
return String.format("[ERROR %s] [%s]", requestId, out);
}
}