From 0f5d4f08a6d9077a605aa0add23834a6cc57c61d Mon Sep 17 00:00:00 2001 From: pksup Date: Tue, 13 Jan 2026 17:39:17 +0900 Subject: [PATCH] =?UTF-8?q?log=20seq=20=EB=94=94=EB=B2=84=EA=B7=B8=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../statistics/ApiStatsMonitorImpl.java | 5 ++ .../scheduler/ApiStatsScheduler.java | 75 ------------------- 2 files changed, 5 insertions(+), 75 deletions(-) diff --git a/src/main/java/com/eactive/eai/custom/statistics/ApiStatsMonitorImpl.java b/src/main/java/com/eactive/eai/custom/statistics/ApiStatsMonitorImpl.java index b024bd6..a82f099 100644 --- a/src/main/java/com/eactive/eai/custom/statistics/ApiStatsMonitorImpl.java +++ b/src/main/java/com/eactive/eai/custom/statistics/ApiStatsMonitorImpl.java @@ -27,6 +27,11 @@ public class ApiStatsMonitorImpl implements StatisticsMonitor { try { // 로그 시퀀스 100, 400, 900만 처리 int logSequence = requestEaiMessage.getLogPssSno(); + + // 디버깅: 모든 logSequence 로깅 + logger.info("API Stats - logSeq: {}, API: {}, errorCode: {}", + logSequence, requestEaiMessage.getEAISvcCd(), requestEaiMessage.getStatErrorCode()); + if (logSequence != 100 && logSequence != 400 && logSequence != 900) { return; } diff --git a/src/main/java/com/eactive/eai/custom/statistics/scheduler/ApiStatsScheduler.java b/src/main/java/com/eactive/eai/custom/statistics/scheduler/ApiStatsScheduler.java index c10d9bd..61e6c22 100644 --- a/src/main/java/com/eactive/eai/custom/statistics/scheduler/ApiStatsScheduler.java +++ b/src/main/java/com/eactive/eai/custom/statistics/scheduler/ApiStatsScheduler.java @@ -90,9 +90,6 @@ public class ApiStatsScheduler { for (ApiStatsMinute stats : statsList) { try { - // Precision 체크 (디버깅) - checkPrecision(stats); - minuteLogger.log(stats); savedCount++; @@ -161,9 +158,6 @@ public class ApiStatsScheduler { for (ApiStatsHour stats : statsList) { try { - // Precision 체크 (디버깅) - checkPrecision(stats); - hourLogger.log(stats); savedCount++; @@ -291,73 +285,4 @@ public class ApiStatsScheduler { log.error("Error during shutdown", e); } } - - /** - * Precision 체크 (디버깅용) - */ - private void checkPrecision(ApiStatsMinute stats) { - checkPrecisionCommon(stats.getApiName(), stats.getStatTime(), - stats.getTotalCnt(), stats.getSuccessCnt(), stats.getTimeoutCnt(), - stats.getSystemErrCnt(), stats.getBizErrCnt(), - stats.getSeq900TimeoutCnt(), stats.getSeq900SystemErrCnt(), stats.getSeq900BizErrCnt(), - stats.getAvgRespTime(), stats.getMinRespTime(), stats.getMaxRespTime(), - stats.getP50RespTime(), stats.getP95RespTime()); - } - - /** - * Precision 체크 (디버깅용) - */ - private void checkPrecision(ApiStatsHour stats) { - checkPrecisionCommon(stats.getApiName(), stats.getStatTime(), - stats.getTotalCnt(), stats.getSuccessCnt(), stats.getTimeoutCnt(), - stats.getSystemErrCnt(), stats.getBizErrCnt(), - stats.getSeq900TimeoutCnt(), stats.getSeq900SystemErrCnt(), stats.getSeq900BizErrCnt(), - stats.getAvgRespTime(), stats.getMinRespTime(), stats.getMaxRespTime(), - stats.getP50RespTime(), stats.getP95RespTime()); - } - - private void checkPrecisionCommon(String apiName, Object statTime, - Long totalCnt, Long successCnt, Long timeoutCnt, Long systemErrCnt, Long bizErrCnt, - Long seq900TimeoutCnt, Long seq900SystemErrCnt, Long seq900BizErrCnt, - java.math.BigDecimal avgRespTime, java.math.BigDecimal minRespTime, java.math.BigDecimal maxRespTimeValue, - java.math.BigDecimal p50RespTime, java.math.BigDecimal p95RespTime) { - - // NUMBER(12) 체크 - 건수 필드 - if (totalCnt != null && totalCnt > 999999999999L) { - log.warn("PRECISION EXCEEDED - API: {}, Time: {}, TOTAL_CNT: {}", apiName, statTime, totalCnt); - } - if (successCnt != null && successCnt < 0) { - log.warn("NEGATIVE VALUE - API: {}, Time: {}, SUCCESS_CNT: {}", apiName, statTime, successCnt); - } - if (successCnt != null && successCnt > 999999999999L) { - log.warn("PRECISION EXCEEDED - API: {}, Time: {}, SUCCESS_CNT: {}", apiName, statTime, successCnt); - } - if (timeoutCnt != null && timeoutCnt > 999999999999L) { - log.warn("PRECISION EXCEEDED - API: {}, Time: {}, TIMEOUT_CNT: {}", apiName, statTime, timeoutCnt); - } - if (systemErrCnt != null && systemErrCnt > 999999999999L) { - log.warn("PRECISION EXCEEDED - API: {}, Time: {}, SYSTEM_ERR_CNT: {}", apiName, statTime, systemErrCnt); - } - if (bizErrCnt != null && bizErrCnt > 999999999999L) { - log.warn("PRECISION EXCEEDED - API: {}, Time: {}, BIZ_ERR_CNT: {}", apiName, statTime, bizErrCnt); - } - - // NUMBER(10,3) 체크 - 응답시간 필드 - java.math.BigDecimal maxRespTimeLimit = new java.math.BigDecimal("9999999.999"); - if (avgRespTime != null && avgRespTime.compareTo(maxRespTimeLimit) > 0) { - log.warn("PRECISION EXCEEDED - API: {}, Time: {}, AVG_RESP_TIME: {}", apiName, statTime, avgRespTime); - } - if (minRespTime != null && minRespTime.compareTo(maxRespTimeLimit) > 0) { - log.warn("PRECISION EXCEEDED - API: {}, Time: {}, MIN_RESP_TIME: {}", apiName, statTime, minRespTime); - } - if (maxRespTimeValue != null && maxRespTimeValue.compareTo(maxRespTimeLimit) > 0) { - log.warn("PRECISION EXCEEDED - API: {}, Time: {}, MAX_RESP_TIME: {}", apiName, statTime, maxRespTimeValue); - } - if (p50RespTime != null && p50RespTime.compareTo(maxRespTimeLimit) > 0) { - log.warn("PRECISION EXCEEDED - API: {}, Time: {}, P50_RESP_TIME: {}", apiName, statTime, p50RespTime); - } - if (p95RespTime != null && p95RespTime.compareTo(maxRespTimeLimit) > 0) { - log.warn("PRECISION EXCEEDED - API: {}, Time: {}, P95_RESP_TIME: {}", apiName, statTime, p95RespTime); - } - } }