package com.banesco.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 El tipo del objeto de solicitud. * @return Una cadena de información formateada. */ public String buildInfoRequest(String requestId, T request) { return String.format("[RQ PUB: %s] [%s]", requestId, JsonHelper.getJsonFromObject(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 El tipo del objeto de respuesta. * @return Una cadena de información formateada. */ public String buildInfoResponse(String requestId, T response) { return String.format("[RS PUB: %s] [%s]", requestId, JsonHelper.getJsonFromObject(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 El tipo del objeto de solicitud. * @return Una cadena de información formateada. */ public String buildInfoPrivateRequest(String requestId, String name, T request) { return String.format("[RQ PRV %s: %s] [%s]", name, requestId, JsonHelper.getJsonFromObject(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 El tipo del objeto de respuesta. * @return Una cadena de información formateada. */ public 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 error. * * @param requestId El ID de la solicitud asociada al error. * @param out El mensaje de error. * @return Una cadena de error formateada. */ public String buildError(String requestId, String out) { return String.format("[ERROR %s] [%s]", requestId, out); } }