Cambiato log delle richieste
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good

This commit is contained in:
2025-09-12 09:25:47 +02:00
parent 9ef98b50e3
commit aaed6e7e0a

View File

@@ -4,10 +4,14 @@ import it.integry.ems.document.export.DocumentiExporter;
import it.integry.ems.utility.UtilityDebug;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.http.HttpHeaders;
import org.springframework.http.server.ServletServerHttpRequest;
import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils;
import org.springframework.web.filter.AbstractRequestLoggingFilter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.util.Enumeration;
@Component
@@ -18,14 +22,14 @@ public class RestLoggerBodyFilter extends AbstractRequestLoggingFilter {
setIncludeClientInfo(true);
setIncludeQueryString(true);
setIncludePayload(true);
setMaxPayloadLength(64000);
// setMaxPayloadLength(64000);
}
private final Logger logger = LogManager.getLogger();
@Override
protected boolean shouldLog(HttpServletRequest request) {
return logger.isWarnEnabled() && shouldRequestBeLogged(request);
return logger.isDebugEnabled() && shouldRequestBeLogged(request);
}
/**
@@ -33,23 +37,8 @@ public class RestLoggerBodyFilter extends AbstractRequestLoggingFilter {
*/
@Override
protected void beforeRequest(HttpServletRequest request, String message) {
if (shouldRequestBeLogged(request)) {
if (logger.isDebugEnabled()) {
logger.trace(request.getMethod() + " " + request.getContextPath() + request.getServletPath());
Enumeration<String> enums = request.getHeaderNames();
while (enums.hasMoreElements()) {
String key = enums.nextElement();
logger.trace("[KEY] " + key + " [VALUE] " + request.getHeader(key));
}
enums = request.getParameterNames();
logger.trace("[PARAMS]");
while (enums.hasMoreElements()) {
String key = enums.nextElement();
logger.trace("[KEY] " + key + " [VALUE] " + request.getParameter(key));
}
}
}
setIncludeHeaders(logger.isTraceEnabled());
logger.debug("START " + message);
}
/**
@@ -57,9 +46,67 @@ public class RestLoggerBodyFilter extends AbstractRequestLoggingFilter {
*/
@Override
protected void afterRequest(HttpServletRequest request, String message) {
if (shouldRequestBeLogged(request)) {
logger.debug("BODY REST CALL AFTER REQUEST: " + message);
logger.debug("END " + message);
}
@Override
protected String createMessage(HttpServletRequest request, String prefix, String suffix) {
StringBuilder msg = new StringBuilder();
// msg.append(prefix);
msg.append("REQUEST [");
msg.append(request.getMethod()).append(' ');
msg.append(request.getRequestURI());
if (this.isIncludeQueryString()) {
String queryString = request.getQueryString();
if (queryString != null) {
msg.append('?').append(queryString);
}
}
msg.append("]");
if (this.isIncludeClientInfo()) {
String client = request.getRemoteAddr();
if (StringUtils.hasLength(client)) {
msg.append(" - Client: ").append(client);
}
HttpSession session = request.getSession(false);
if (session != null) {
msg.append(" - Session: ").append(session.getId());
}
String user = request.getRemoteUser();
if (user != null) {
msg.append(" - User: ").append(user);
}
}
if (this.isIncludeHeaders()) {
HttpHeaders headers = (new ServletServerHttpRequest(request)).getHeaders();
if (this.getHeaderPredicate() != null) {
Enumeration<String> names = request.getHeaderNames();
while (names.hasMoreElements()) {
String header = names.nextElement();
if (!this.getHeaderPredicate().test(header)) {
headers.set(header, "masked");
}
}
}
msg.append("\n Headers: ").append(headers);
}
String contentType = request.getContentType();
if (this.isIncludePayload() && contentType.contains("application/json")) {
String payload = this.getMessagePayload(request);
if (payload != null) {
msg.append("\n Body: ").append(payload);
}
}
// msg.append(suffix);
return msg.toString();
}
@@ -93,7 +140,7 @@ public class RestLoggerBodyFilter extends AbstractRequestLoggingFilter {
!serviceName.startsWith("variazioni-negozi/") &&
!serviceName.startsWith("decodeUcs/") &&
!(serviceName.startsWith("export") &&
!request.getQueryString().contains(DocumentiExporter.Format.FATTURE_FPR.getText())) &&
request.getQueryString().contains(DocumentiExporter.Format.FATTURE_FPR.getText())) &&
(!serviceName.contains("processSql") || UtilityDebug.isDebugExecution());
}