From c22786b72926f2a6180a8d5085f37a5f6c86068d Mon Sep 17 00:00:00 2001 From: cho Date: Thu, 5 Mar 2026 11:53:04 +0900 Subject: [PATCH] =?UTF-8?q?=EB=A1=9C=EA=B1=B0=20=EB=A1=A4=EB=A7=81=20?= =?UTF-8?q?=EC=A0=95=EC=B1=85=20=EB=B3=80=EA=B2=BD=20time->=20size(500MB)?= =?UTF-8?q?=20and=20time?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/eactive/eai/common/util/LogKeys.java | 1 + .../com/eactive/eai/common/util/Logger.java | 28 +++++++++++++++---- 2 files changed, 23 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/eactive/eai/common/util/LogKeys.java b/src/main/java/com/eactive/eai/common/util/LogKeys.java index ba6ee90..ecff4ee 100644 --- a/src/main/java/com/eactive/eai/common/util/LogKeys.java +++ b/src/main/java/com/eactive/eai/common/util/LogKeys.java @@ -47,6 +47,7 @@ public interface LogKeys public static final String DATE_PATTERN ="date.pattern"; public static final String APPEND ="append"; public static final String MAX_BACKUP_INDEX ="max.backup.index"; + public static final String MAX_FILE_SIZE ="max.file.size"; public static final String ENCODING ="encoding"; public static final String COMPRESS_EXT ="compress.ext"; diff --git a/src/main/java/com/eactive/eai/common/util/Logger.java b/src/main/java/com/eactive/eai/common/util/Logger.java index c967420..89f5396 100644 --- a/src/main/java/com/eactive/eai/common/util/Logger.java +++ b/src/main/java/com/eactive/eai/common/util/Logger.java @@ -27,8 +27,9 @@ import ch.qos.logback.core.ConsoleAppender; import ch.qos.logback.core.Context; import ch.qos.logback.core.FileAppender; import ch.qos.logback.core.rolling.RollingFileAppender; -import ch.qos.logback.core.rolling.TimeBasedRollingPolicy; +import ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy; import ch.qos.logback.core.sift.AppenderFactory; +import ch.qos.logback.core.util.FileSize; import co.elastic.logging.logback.EcsEncoder; /** @@ -846,9 +847,16 @@ public class Logger implements LogKeys { rollingFileAppender.setName("FILE-" + discriminatingValue); rollingFileAppender.setFile(appenderLogDirectory + localServer + File.separator + appenderLogDirectorySub + File.separator + discriminatingValue + ".log"); - TimeBasedRollingPolicy rollingPolicy = new TimeBasedRollingPolicy<>(); + String sMaxFileSize = pmanager.getProperty(APPENDER_SIFT, MAX_FILE_SIZE, "500MB"); + + SizeAndTimeBasedRollingPolicy rollingPolicy = new SizeAndTimeBasedRollingPolicy<>(); rollingPolicy.setContext(context); - rollingPolicy.setFileNamePattern(appenderLogDirectory + localServer + File.separator + appenderLogDirectorySub + File.separator + discriminatingValue + datePattern + ".log"); + rollingPolicy.setFileNamePattern(appenderLogDirectory + localServer + File.separator + appenderLogDirectorySub + File.separator + discriminatingValue + datePattern + ".%i.log"); + if (StringUtils.isNotBlank(sMaxFileSize)) { + rollingPolicy.setMaxFileSize(FileSize.valueOf(sMaxFileSize)); + } else { + rollingPolicy.setMaxFileSize(FileSize.valueOf("500MB")); + } rollingPolicy.setParent(rollingFileAppender); rollingPolicy.setMaxHistory(maxBackupIndex); rollingPolicy.start(); @@ -1044,17 +1052,25 @@ public class Logger implements LogKeys { appender = new RollingFileAppender(); String localServer = EAIServerManager.getInstance().getLocalServerName(); - TimeBasedRollingPolicy rollingPolicy = new TimeBasedRollingPolicy(); + String sMaxFileSize = pmanager.getProperty(appenderName, MAX_FILE_SIZE, "500MB"); + + SizeAndTimeBasedRollingPolicy rollingPolicy = new SizeAndTimeBasedRollingPolicy(); if (StringUtils.isNotBlank(compressExt)){ if (compressExt.startsWith(".")) { compressExt = compressExt.substring(1); + } - rollingPolicy.setFileNamePattern( logDirectory + localServer + File.separator + logFile + datePattern + "." + compressExt); + rollingPolicy.setFileNamePattern( logDirectory + localServer + File.separator + logFile + datePattern + ".%i." + compressExt); }else{ - rollingPolicy.setFileNamePattern( logDirectory + localServer + File.separator + logFile + datePattern); + rollingPolicy.setFileNamePattern( logDirectory + localServer + File.separator + logFile + datePattern + ".%i."); } rollingPolicy.setContext( (LoggerContext) LoggerFactory.getILoggerFactory() ); rollingPolicy.setParent(appender); + if (StringUtils.isNotBlank(sMaxFileSize)) { + rollingPolicy.setMaxFileSize(FileSize.valueOf(sMaxFileSize)); + } else { + rollingPolicy.setMaxFileSize(FileSize.valueOf("500MB")); // 기본값 + } rollingPolicy.setMaxHistory(maxBackupIndex); rollingPolicy.start();