From 78f84bd7b859ebb2d97c1f0edb4d71452dbeaf8e Mon Sep 17 00:00:00 2001 From: bcjang Date: Wed, 6 Aug 2025 14:39:05 +0900 Subject: [PATCH] =?UTF-8?q?=EB=A1=9C=EA=B7=B8=20=EB=B0=A9=EC=8B=9D=20?= =?UTF-8?q?=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../RabbitMq/MessageHandlerService.java | 12 +++ .../api/BusinessLogSearchController.java | 38 -------- .../admin/domain/service/AdminService.java | 12 ++- .../domain/service/AuthenticateService.java | 2 + .../domain/service/BattleEventService.java | 12 ++- .../domain/service/BlackListService.java | 6 +- .../admin/domain/service/CaliumService.java | 4 + .../admin/domain/service/EventService.java | 9 +- .../admin/domain/service/GroupService.java | 10 +- .../admin/domain/service/HistoryService.java | 2 + .../domain/service/IndicatorsService.java | 7 ++ .../admin/domain/service/ItemsService.java | 3 + .../admin/domain/service/LandService.java | 13 ++- .../admin/domain/service/LogService.java | 9 ++ .../admin/domain/service/MailService.java | 10 +- .../admin/domain/service/MenuService.java | 14 ++- .../admin/domain/service/S3Service.java | 2 + .../admin/domain/service/UserItemService.java | 37 -------- .../admin/domain/service/UsersService.java | 35 +++++++ .../global/common/annotation/RequestLog.java | 25 +++++ .../global/common/aspect/LoggingAspect.java | 4 +- .../common/aspect/RequestLogAspect.java | 92 +++++++++++++++++++ .../indicators/IndicatorsCurrencyService.java | 2 +- .../indicators/IndicatorsItemService.java | 2 +- .../indicators/IndicatorsSnapshotService.java | 2 +- .../IndicatorsUserCreateService.java | 2 +- .../IndicatorsUserLoginService.java | 2 +- .../resources/config/dev/logback-spring.xml | 3 +- .../resources/config/live/logback-spring.xml | 3 +- .../resources/config/local/application.yml | 30 +++--- .../resources/config/local/logback-spring.xml | 14 +-- .../resources/config/qa/logback-spring.xml | 3 +- .../resources/config/stage/logback-spring.xml | 3 +- 33 files changed, 296 insertions(+), 128 deletions(-) delete mode 100644 src/main/java/com/caliverse/admin/domain/api/BusinessLogSearchController.java delete mode 100644 src/main/java/com/caliverse/admin/domain/service/UserItemService.java create mode 100644 src/main/java/com/caliverse/admin/global/common/annotation/RequestLog.java create mode 100644 src/main/java/com/caliverse/admin/global/common/aspect/RequestLogAspect.java diff --git a/src/main/java/com/caliverse/admin/domain/RabbitMq/MessageHandlerService.java b/src/main/java/com/caliverse/admin/domain/RabbitMq/MessageHandlerService.java index 3f75353..cfd2805 100644 --- a/src/main/java/com/caliverse/admin/domain/RabbitMq/MessageHandlerService.java +++ b/src/main/java/com/caliverse/admin/domain/RabbitMq/MessageHandlerService.java @@ -53,6 +53,8 @@ public class MessageHandlerService { rabbitMqService.SendMessage(user_kick_builder.build(), serverName); + log.info("Send User Kick Message to Server: {}, user: {}", serverName, userGuid); + logMessage( LogStatus.SUCCESS, "", @@ -86,6 +88,9 @@ public class MessageHandlerService { for (String server : serverList) { rabbitMqService.SendMessage(noticeBuilder.build(), server); } + + log.info("Send Notice Message to Server: {}, type: {}", serverList.toString(), type); + logMessage( LogStatus.SUCCESS, "", @@ -125,6 +130,9 @@ public class MessageHandlerService { mail_builder.addSender(sender); } rabbitMqService.SendMessage(mail_builder.build(), serverName); + + log.info("Send Mail Message to Server: {}, user: {}", serverName, userGuid); + logMessage( LogStatus.SUCCESS, "", @@ -151,6 +159,8 @@ public class MessageHandlerService { rabbitMqService.SendMessage(banner_builder.build(), serverName); + log.info("Send Banner Message to Server: {}", serverName); + logMessage( LogStatus.SUCCESS, "", @@ -180,6 +190,8 @@ public class MessageHandlerService { rabbitMqService.SendMessage(quest_task_builder.build(), serverName); + log.info("Send Quest Task Complete Message to Server: {}, accountId: {}, questKey: {}, taskId: {}", serverName, accountId, questKey, taskId); + logMessage( LogStatus.SUCCESS, "", diff --git a/src/main/java/com/caliverse/admin/domain/api/BusinessLogSearchController.java b/src/main/java/com/caliverse/admin/domain/api/BusinessLogSearchController.java deleted file mode 100644 index 4b69698..0000000 --- a/src/main/java/com/caliverse/admin/domain/api/BusinessLogSearchController.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.caliverse.admin.domain.api; - -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import com.caliverse.admin.domain.service.UserItemService; - -import io.swagger.v3.oas.annotations.tags.Tag; -import lombok.RequiredArgsConstructor; - -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestParam; - -import java.util.Map; - - -@Tag(name = "비즈니스 로그 조회", description = "비즈니스 로그 조회 메뉴 api 입니다.") -@RestController -@RequiredArgsConstructor -@RequestMapping("/api/v1/businesslog") -public class BusinessLogSearchController { - - private final UserItemService userItemService; - - @GetMapping("/useritemlist") - public String getUserItemList(@RequestParam Map requestParams){ - - userItemService.getUserItemHistory(requestParams); - - - return null; - //return ResponseEntity.ok().body( userItemService.getUserItemList(requestParams)); - } - - - -} diff --git a/src/main/java/com/caliverse/admin/domain/service/AdminService.java b/src/main/java/com/caliverse/admin/domain/service/AdminService.java index 994e0b4..a327985 100644 --- a/src/main/java/com/caliverse/admin/domain/service/AdminService.java +++ b/src/main/java/com/caliverse/admin/domain/service/AdminService.java @@ -8,6 +8,7 @@ import com.caliverse.admin.domain.request.AdminRequest; import com.caliverse.admin.domain.request.AuthenticateRequest; import com.caliverse.admin.domain.response.AdminResponse; import com.caliverse.admin.global.common.annotation.BusinessProcess; +import com.caliverse.admin.global.common.annotation.RequestLog; import com.caliverse.admin.global.common.code.CommonCode; import com.caliverse.admin.global.common.code.ErrorCode; import com.caliverse.admin.global.common.code.SuccessCode; @@ -53,9 +54,11 @@ public class AdminService { private String username; @Value("${spring.mail.password}") private String password; + // 비번 초기화 @BusinessProcess(action = LogAction.PASSWORD_INIT) @Transactional(transactionManager = "transactionManager") + @RequestLog public AdminResponse initPassword(AuthenticateRequest authenticateRequest){ Optional admin = adminMapper.findByEmail(authenticateRequest.getEmail()); @@ -64,7 +67,7 @@ public class AdminService { //smtp sendMail(authenticateRequest.getEmail(),initPwd); - log.info("initPassword id: {}, email: {}", admin.get().getId(), admin.get().getEmail()); + log.info("initPassword Complete id: {}, email: {}", admin.get().getId(), admin.get().getEmail()); return AdminResponse.builder() .status(CommonCode.SUCCESS.getHttpStatus()) @@ -76,6 +79,7 @@ public class AdminService { // 비번 재설정 @BusinessProcess(action = LogAction.PASSWORD_CHANGE) @Transactional(transactionManager = "transactionManager") + @RequestLog public AdminResponse updatePassword(AuthenticateRequest authenticateRequest){ String oldPwd = authenticateRequest.getPassword(); @@ -113,6 +117,7 @@ public class AdminService { } // 사용자 정보 조회 + @RequestLog public AdminResponse getAdminInfo(){ AdminResponse.ResultData resultData = null; @@ -138,7 +143,9 @@ public class AdminService { .resultData(resultData) .build(); } + // 운영자 조회 + @RequestLog public AdminResponse getAdminList(Map requestParams){ AdminResponse.ResultData adminData = null; @@ -165,6 +172,7 @@ public class AdminService { // 로그인 승인/불가 @BusinessProcess(action = LogAction.ADMIN) @Transactional(transactionManager = "transactionManager") + @RequestLog public AdminResponse updateStatus(AdminRequest adminRequest){ Map map = new HashMap<>(); adminRequest.getList().forEach( @@ -198,6 +206,7 @@ public class AdminService { //운영자 그룹 변경 @BusinessProcess(action = LogAction.ADMIN_GROUP) @Transactional(transactionManager = "transactionManager") + @RequestLog public AdminResponse updateGroup(AdminRequest adminRequest){ Map map = new HashMap<>(); adminRequest.getList().forEach( @@ -224,6 +233,7 @@ public class AdminService { // 운영자 선택 삭제 @BusinessProcess(action = LogAction.ADMIN_DELETE) @Transactional(transactionManager = "transactionManager") + @RequestLog public AdminResponse deleteAdmin(AdminRequest adminRequest){ Map map = new HashMap<>(); adminRequest.getList().forEach( diff --git a/src/main/java/com/caliverse/admin/domain/service/AuthenticateService.java b/src/main/java/com/caliverse/admin/domain/service/AuthenticateService.java index 749d2b0..7aa2a53 100644 --- a/src/main/java/com/caliverse/admin/domain/service/AuthenticateService.java +++ b/src/main/java/com/caliverse/admin/domain/service/AuthenticateService.java @@ -9,6 +9,7 @@ import com.caliverse.admin.domain.entity.log.LogAction; import com.caliverse.admin.domain.request.AuthenticateRequest; import com.caliverse.admin.domain.response.AuthenticateResponse; import com.caliverse.admin.global.common.annotation.BusinessProcess; +import com.caliverse.admin.global.common.annotation.RequestLog; import com.caliverse.admin.global.common.code.CommonCode; import com.caliverse.admin.global.common.code.ErrorCode; import com.caliverse.admin.global.common.code.SuccessCode; @@ -98,6 +99,7 @@ public class AuthenticateService{ //회원가입 @BusinessProcess(action = LogAction.USER) @Transactional(transactionManager = "transactionManager") + @RequestLog public AuthenticateResponse register(AuthenticateRequest authenticateRequest){ if(adminMapper.existsByEmail(authenticateRequest.getEmail())){ diff --git a/src/main/java/com/caliverse/admin/domain/service/BattleEventService.java b/src/main/java/com/caliverse/admin/domain/service/BattleEventService.java index ccf37db..a77b80f 100644 --- a/src/main/java/com/caliverse/admin/domain/service/BattleEventService.java +++ b/src/main/java/com/caliverse/admin/domain/service/BattleEventService.java @@ -14,6 +14,7 @@ import com.caliverse.admin.domain.request.BattleEventRequest; import com.caliverse.admin.domain.response.BattleEventResponse; import com.caliverse.admin.dynamodb.service.DynamodbBattleEventService; import com.caliverse.admin.global.common.annotation.BusinessProcess; +import com.caliverse.admin.global.common.annotation.RequestLog; import com.caliverse.admin.global.common.code.CommonCode; import com.caliverse.admin.global.common.code.ErrorCode; import com.caliverse.admin.global.common.code.SuccessCode; @@ -93,6 +94,7 @@ public class BattleEventService { } // 전투시스템 이벤트 조회 + @RequestLog public BattleEventResponse getBattleEventList(@RequestParam Map requestParam){ requestParam = CommonUtils.pageSetting(requestParam); @@ -116,7 +118,10 @@ public class BattleEventService { } // 전투시스템 이벤트 상세조회 + @RequestLog public BattleEventResponse getBattleEventDetail(Long id){ + String email = CommonUtils.getAdmin() != null ? CommonUtils.getAdmin().getEmail() : ""; + log.info("getBattleEventDetail user: {}, id: {}", email, id); BattleEvent battleEvent = battleMapper.getBattleEventDetail(id); @@ -132,6 +137,7 @@ public class BattleEventService { // 전투시스템 이벤트 저장 @BusinessProcess(action = LogAction.BATTLE_EVENT) @Transactional(transactionManager = "transactionManager") + @RequestLog public BattleEventResponse postBattleEvent(BattleEventRequest battleEventRequest){ if(battleEventRequest.getRepeatType().equals(BattleEvent.BATTLE_REPEAT_TYPE.NONE)){ LocalDateTime start_dt = battleEventRequest.getEventStartDt(); @@ -194,6 +200,7 @@ public class BattleEventService { // 전투시스템 이벤트 수정 @BusinessProcess(action = LogAction.BATTLE_EVENT) @Transactional(transactionManager = "transactionManager") + @RequestLog public BattleEventResponse updateBattleEvent(Long id, BattleEventRequest battleEventRequest) { battleEventRequest.setId(id); battleEventRequest.setUpdateBy(CommonUtils.getAdmin().getId()); @@ -245,6 +252,7 @@ public class BattleEventService { // 전투시스템 이벤트 중단 @BusinessProcess(action = LogAction.BATTLE_EVENT) @Transactional(transactionManager = "transactionManager") + @RequestLog public BattleEventResponse updateStopBattleEvent(Long id){ Map map = new HashMap<>(); @@ -276,6 +284,7 @@ public class BattleEventService { // 전투시스템 이벤트 삭제(사용안함) @BusinessProcess(action = LogAction.BATTLE_EVENT) @Transactional(transactionManager = "transactionManager") + @RequestLog public BattleEventResponse deleteBattleEvent(BattleEventRequest battleEventRequest){ Map map = new HashMap<>(); AtomicBoolean is_falil = new AtomicBoolean(false); @@ -293,7 +302,7 @@ public class BattleEventService { map.put("id", id); map.put("updateBy", CommonUtils.getAdmin().getId()); int result = battleMapper.deleteBattleEvent(map); - log.info("BattleEvent Delete Complete: {}", item); + log.info("BattleEvent Delete Complete id: {}", id); // dynamodbLandAuctionService.cancelLandAuction(auction_info); } @@ -318,7 +327,6 @@ public class BattleEventService { return battleMapper.getScheduleBattleEventList(); } - @BusinessProcess(action = LogAction.BATTLE_EVENT) @Transactional(transactionManager = "transactionManager") public void updateBattleEventStatus(Map map){ try{ diff --git a/src/main/java/com/caliverse/admin/domain/service/BlackListService.java b/src/main/java/com/caliverse/admin/domain/service/BlackListService.java index 8a5cc2f..fca0b5c 100644 --- a/src/main/java/com/caliverse/admin/domain/service/BlackListService.java +++ b/src/main/java/com/caliverse/admin/domain/service/BlackListService.java @@ -9,6 +9,7 @@ import com.caliverse.admin.domain.request.BlackListRequest; import com.caliverse.admin.domain.response.BlackListResponse; import com.caliverse.admin.dynamodb.service.DynamodbUserService; import com.caliverse.admin.global.common.annotation.BusinessProcess; +import com.caliverse.admin.global.common.annotation.RequestLog; import com.caliverse.admin.global.common.code.CommonCode; import com.caliverse.admin.global.common.code.ErrorCode; import com.caliverse.admin.global.common.code.SuccessCode; @@ -45,6 +46,7 @@ public class BlackListService { private String excelPath; private final ResourceLoader resourceLoader; + @RequestLog public BlackListResponse getBlackList(Map requestParams){ //페이징 처리 requestParams = CommonUtils.pageSetting(requestParams); @@ -66,6 +68,7 @@ public class BlackListService { .build(); } + @RequestLog public BlackListResponse getBlackListDetail(Long id ){ BlackList blackList = blackListMapper.getBlackListDetail(id); List historyByGuid = blackListMapper.getHistoryByGuid(blackList.getGuid()); @@ -146,6 +149,7 @@ public class BlackListService { @BusinessProcess(action = LogAction.BLACK_LIST) @Transactional(transactionManager = "transactionManager") + @RequestLog public BlackListResponse postBlackList(BlackListRequest blackListRequest){ // 이용자 제재 상태를 판단하는 로직 @@ -214,6 +218,7 @@ public class BlackListService { @BusinessProcess(action = LogAction.BLACK_LIST) @Transactional(transactionManager = "transactionManager") + @RequestLog public BlackListResponse deleteBlackList(BlackListRequest blackListRequest){ Map map = new HashMap<>(); @@ -241,7 +246,6 @@ public class BlackListService { .build(); } - @BusinessProcess(action = LogAction.BLACK_LIST) @Transactional(transactionManager = "transactionManager") public void updateBlackListStatus(Long id, BlackList.STATUSTYPE status){ Map map = new HashMap<>(); diff --git a/src/main/java/com/caliverse/admin/domain/service/CaliumService.java b/src/main/java/com/caliverse/admin/domain/service/CaliumService.java index b14d969..6588956 100644 --- a/src/main/java/com/caliverse/admin/domain/service/CaliumService.java +++ b/src/main/java/com/caliverse/admin/domain/service/CaliumService.java @@ -14,6 +14,7 @@ import com.caliverse.admin.domain.response.CaliumResponse; import com.caliverse.admin.domain.response.Web3Response; import com.caliverse.admin.dynamodb.service.DynamodbCaliumService; import com.caliverse.admin.global.common.annotation.BusinessProcess; +import com.caliverse.admin.global.common.annotation.RequestLog; import com.caliverse.admin.global.common.code.CommonCode; import com.caliverse.admin.global.common.code.ErrorCode; import com.caliverse.admin.global.common.code.SuccessCode; @@ -74,6 +75,7 @@ public class CaliumService { } } + @RequestLog public CaliumResponse getList(Map requestParam){ //페이징 처리 requestParam = CommonUtils.pageSetting(requestParam); @@ -121,6 +123,7 @@ public class CaliumService { @BusinessProcess(action = com.caliverse.admin.domain.entity.log.LogAction.CALIUM_REQUEST) @Transactional(transactionManager = "transactionManager") + @RequestLog public CaliumResponse postCaliumRequest(CaliumRequest caliumRequest){ caliumRequest.setCreateBy(CommonUtils.getAdmin().getId()); @@ -165,6 +168,7 @@ public class CaliumService { @BusinessProcess(action = com.caliverse.admin.domain.entity.log.LogAction.CALIUM_REQUEST) @Transactional(transactionManager = "transactionManager") + @RequestLog public CaliumResponse updateCaliumCharged(CaliumRequest caliumRequest){ log.info("updateCaliumCharged calium Request: {}", caliumRequest); Calium calium = caliumMapper.getCaliumRequestDetail(caliumRequest.getId()); diff --git a/src/main/java/com/caliverse/admin/domain/service/EventService.java b/src/main/java/com/caliverse/admin/domain/service/EventService.java index aa7aa0c..4d1fdd5 100644 --- a/src/main/java/com/caliverse/admin/domain/service/EventService.java +++ b/src/main/java/com/caliverse/admin/domain/service/EventService.java @@ -10,6 +10,7 @@ import com.caliverse.admin.domain.response.EventResponse; import com.caliverse.admin.dynamodb.service.DynamodbMailService; import com.caliverse.admin.dynamodb.service.DynamodbService; import com.caliverse.admin.global.common.annotation.BusinessProcess; +import com.caliverse.admin.global.common.annotation.RequestLog; import com.caliverse.admin.global.common.code.CommonCode; import com.caliverse.admin.global.common.code.ErrorCode; import com.caliverse.admin.global.common.code.SuccessCode; @@ -42,6 +43,7 @@ public class EventService { private final MysqlHistoryLogService mysqlHistoryLogService; private final BusinessProcessIdManager processIdManager; + @RequestLog public EventResponse getList(Map requestParam){ //페이징 처리 requestParam = CommonUtils.pageSetting(requestParam); @@ -64,6 +66,7 @@ public class EventService { .build(); } + @RequestLog public EventResponse getDetail(Long id){ Event event = eventMapper.getEventDetail(id); @@ -88,11 +91,12 @@ public class EventService { @BusinessProcess(action = LogAction.EVENT) @Transactional(transactionManager = "transactionManager") + @RequestLog public EventResponse postEvent(EventRequest eventRequest){ eventRequest.setCreateBy(CommonUtils.getAdmin().getId()); int result = eventMapper.postEvent(eventRequest); - log.info("postEvent AdminToolDB Event Save: {}", eventRequest); + log.info("postEvent AdminToolDB Event Save id: {}", eventRequest.getId()); long event_id = eventRequest.getId(); @@ -159,6 +163,7 @@ public class EventService { @BusinessProcess(action = LogAction.EVENT) @Transactional(transactionManager = "transactionManager") + @RequestLog public EventResponse updateEvent(Long id, EventRequest eventRequest) { eventRequest.setId(id); eventRequest.setUpdateBy(CommonUtils.getAdmin().getId()); @@ -171,7 +176,6 @@ public class EventService { int result = eventMapper.updateEvent(eventRequest); - Map map = new HashMap<>(); map.put("mailId", String.valueOf(event_id)); @@ -238,6 +242,7 @@ public class EventService { @BusinessProcess(action = LogAction.EVENT) @Transactional(transactionManager = "transactionManager") + @RequestLog public EventResponse deleteEvent(EventRequest eventRequest){ Map map = new HashMap<>(); diff --git a/src/main/java/com/caliverse/admin/domain/service/GroupService.java b/src/main/java/com/caliverse/admin/domain/service/GroupService.java index c83263d..fd70803 100644 --- a/src/main/java/com/caliverse/admin/domain/service/GroupService.java +++ b/src/main/java/com/caliverse/admin/domain/service/GroupService.java @@ -6,6 +6,7 @@ import com.caliverse.admin.domain.entity.log.LogAction; import com.caliverse.admin.domain.request.GroupRequest; import com.caliverse.admin.domain.response.GroupResponse; import com.caliverse.admin.global.common.annotation.BusinessProcess; +import com.caliverse.admin.global.common.annotation.RequestLog; import com.caliverse.admin.global.common.code.CommonCode; import com.caliverse.admin.global.common.code.ErrorCode; import com.caliverse.admin.global.common.code.SuccessCode; @@ -45,6 +46,7 @@ public class GroupService { * return GroupResponse.list */ // 권한 설정 화면 리스트 조회 + @RequestLog public GroupResponse getGroupList(Map requestMap){ //페이징 처리 @@ -67,6 +69,7 @@ public class GroupService { } // 권한 설정 상세 조회 + @RequestLog public GroupResponse getGroupDetail(String groupId){ Long lid = Long.valueOf(groupId); @@ -85,6 +88,7 @@ public class GroupService { //권한 그룹 등록 @BusinessProcess(action = LogAction.GROUP) @Transactional(transactionManager = "transactionManager") + @RequestLog public GroupResponse postAdminGroup(GroupRequest groupRequest){ List authList = Arrays.asList(1, 5, 6, 9, 10, 11, 13, 14, 15, 16, 19, 22, 24, 26, 32, 36, 41,46, 49); //그룹 초기 권한 Map map = new HashMap<>(); @@ -104,7 +108,7 @@ public class GroupService { throw new RestApiException(CommonCode.ERROR.getHttpStatus(), ErrorCode.DUPLICATED_GROUPNAME.getMessage()); } - log.info("postAdminGroup group: {}",map); + log.info("postAdminGroup group id: {}", groupRequest.getId()); return GroupResponse.builder() .status(CommonCode.SUCCESS.getHttpStatus()) @@ -112,9 +116,11 @@ public class GroupService { .resultData(GroupResponse.ResultData.builder().message(SuccessCode.SAVE.getMessage()).build()) .build(); } + //그룹 권한 수정 @BusinessProcess(action = LogAction.GROUP) @Transactional(transactionManager = "transactionManager") + @RequestLog public GroupResponse updateAdminGroup(String groupId,GroupRequest groupRequest){ Map map = new HashMap<>(); @@ -142,9 +148,11 @@ public class GroupService { .resultData(GroupResponse.ResultData.builder().message(SuccessCode.UPDATE.getMessage()).build()) .build(); } + //그룹 삭제 @BusinessProcess(action = LogAction.GROUP) @Transactional(transactionManager = "transactionManager") + @RequestLog public GroupResponse deleteAdminGroup(GroupRequest groupRequest){ Map map = new HashMap(); groupRequest.getGroupList().forEach( diff --git a/src/main/java/com/caliverse/admin/domain/service/HistoryService.java b/src/main/java/com/caliverse/admin/domain/service/HistoryService.java index d5fbbba..959c563 100644 --- a/src/main/java/com/caliverse/admin/domain/service/HistoryService.java +++ b/src/main/java/com/caliverse/admin/domain/service/HistoryService.java @@ -5,6 +5,7 @@ import com.caliverse.admin.domain.entity.Admin; import com.caliverse.admin.domain.entity.HISTORYTYPEDETAIL; import com.caliverse.admin.domain.request.HistoryRequest; import com.caliverse.admin.domain.response.HistoryResponse; +import com.caliverse.admin.global.common.annotation.RequestLog; import com.caliverse.admin.global.common.code.CommonCode; import com.caliverse.admin.global.common.code.ErrorCode; import com.caliverse.admin.global.common.utils.CommonUtils; @@ -31,6 +32,7 @@ public class HistoryService { private final AdminMapper adminMapper; private final HistoryLogService historyLogService; + @RequestLog public HistoryResponse getHistoryList(Map requestParams){ //페이징 처리 diff --git a/src/main/java/com/caliverse/admin/domain/service/IndicatorsService.java b/src/main/java/com/caliverse/admin/domain/service/IndicatorsService.java index ea60284..7b5f0ad 100644 --- a/src/main/java/com/caliverse/admin/domain/service/IndicatorsService.java +++ b/src/main/java/com/caliverse/admin/domain/service/IndicatorsService.java @@ -10,6 +10,7 @@ import com.caliverse.admin.Indicators.entity.*; import com.caliverse.admin.domain.datacomponent.MetaDataHandler; import com.caliverse.admin.dynamodb.domain.atrrib.CaliumStorageAttrib; import com.caliverse.admin.dynamodb.service.DynamodbCaliumService; +import com.caliverse.admin.global.common.annotation.RequestLog; import com.caliverse.admin.global.common.utils.DateUtils; import com.caliverse.admin.logs.logservice.indicators.*; import com.fasterxml.jackson.core.JsonProcessingException; @@ -58,6 +59,7 @@ public class IndicatorsService { private final DynamodbCaliumService dynamodbCaliumService; //UserStatistics + @RequestLog public IndicatorsResponse list(Map requestParams){ String startDt = requestParams.get("start_dt"); @@ -195,6 +197,7 @@ public class IndicatorsService { } // 유저 지표 Retention + @RequestLog public IndicatorsResponse retentionList(Map requestParams){ LocalDateTime startDt = DateUtils.stringISOToLocalDateTime(requestParams.get("start_dt")); LocalDateTime endDt = DateUtils.stringISOToLocalDateTime(requestParams.get("end_dt")); @@ -233,6 +236,8 @@ public class IndicatorsService { } + // 재화 지표 + @RequestLog public IndicatorsResponse currencyList(Map requestParams){ LocalDateTime startDt = DateUtils.stringISOToLocalDateTime(requestParams.get("start_dt")); LocalDateTime endDt = DateUtils.stringISOToLocalDateTime(requestParams.get("end_dt")); @@ -257,6 +262,7 @@ public class IndicatorsService { } //이이템 지표 + @RequestLog public IndicatorsResponse getItemList(Map requestParams){ LocalDateTime startDt = DateUtils.stringISOToLocalDateTime(requestParams.get("start_dt")); LocalDateTime endDt = DateUtils.stringISOToLocalDateTime(requestParams.get("end_dt")); @@ -284,6 +290,7 @@ public class IndicatorsService { } //보유 지표 + @RequestLog public IndicatorsResponse getAssetsList(Map requestParams){ LocalDateTime startDt = DateUtils.stringISOToLocalDateTime(requestParams.get("start_dt")); LocalDateTime endDt = DateUtils.stringISOToLocalDateTime(requestParams.get("end_dt")); diff --git a/src/main/java/com/caliverse/admin/domain/service/ItemsService.java b/src/main/java/com/caliverse/admin/domain/service/ItemsService.java index 28c1ef8..7c97b91 100644 --- a/src/main/java/com/caliverse/admin/domain/service/ItemsService.java +++ b/src/main/java/com/caliverse/admin/domain/service/ItemsService.java @@ -12,6 +12,7 @@ import com.caliverse.admin.dynamodb.dto.PageResult; import com.caliverse.admin.dynamodb.service.DynamodbItemService; import com.caliverse.admin.dynamodb.service.DynamodbUserService; import com.caliverse.admin.global.common.annotation.BusinessProcess; +import com.caliverse.admin.global.common.annotation.RequestLog; import com.caliverse.admin.global.common.code.ErrorCode; import com.caliverse.admin.global.common.utils.CommonUtils; import lombok.extern.slf4j.Slf4j; @@ -40,6 +41,7 @@ public class ItemsService { private final DynamodbItemService dynamodbItemService; private final MetaDataHandler metaDataHandler; + @RequestLog public ItemsResponse findItems(ItemsRequest itemDeleteRequest){ String guid = ""; String searchData = itemDeleteRequest.getSearchData(); @@ -102,6 +104,7 @@ public class ItemsService { @BusinessProcess(action = LogAction.ITEM) @Transactional(transactionManager = "transactionManager") + @RequestLog public ItemDeleteResponse postItemDelete(ItemsRequest itemDeleteRequest){ String userGuid = itemDeleteRequest.getUserGuid(); String itemGuid = itemDeleteRequest.getItemGuid(); diff --git a/src/main/java/com/caliverse/admin/domain/service/LandService.java b/src/main/java/com/caliverse/admin/domain/service/LandService.java index 6b59db8..fc40566 100644 --- a/src/main/java/com/caliverse/admin/domain/service/LandService.java +++ b/src/main/java/com/caliverse/admin/domain/service/LandService.java @@ -18,6 +18,7 @@ import com.caliverse.admin.dynamodb.service.DynamodbLandService; import com.caliverse.admin.dynamodb.service.DynamodbService; import com.caliverse.admin.dynamodb.service.DynamodbUserService; import com.caliverse.admin.global.common.annotation.BusinessProcess; +import com.caliverse.admin.global.common.annotation.RequestLog; import com.caliverse.admin.global.common.code.CommonCode; import com.caliverse.admin.global.common.code.ErrorCode; import com.caliverse.admin.global.common.code.SuccessCode; @@ -53,9 +54,8 @@ public class LandService { private final LandMapper landMapper; private final MetaDataHandler metaDataHandler; - private final ObjectMapper objectMapper; - private final MysqlHistoryLogService mysqlHistoryLogService; + @RequestLog public LandResponse getLandInfo(@RequestParam Map requestParam){ String searchType = requestParam.getOrDefault("land_type", "ID"); String searchData = requestParam.getOrDefault("land_data", ""); @@ -309,6 +309,7 @@ public class LandService { .build(); } + @RequestLog public LandResponse getLandDetail(Long id){ LandAuction event = landMapper.getLandAuctionDetail(id); @@ -325,6 +326,7 @@ public class LandService { } // 랜드 경매 조회 + @RequestLog public LandResponse getLandAuctionList(@RequestParam Map requestParam){ requestParam = CommonUtils.pageSetting(requestParam); @@ -348,6 +350,7 @@ public class LandService { } // 랜드 경매 상세조회 + @RequestLog public LandResponse getLandAuctionDetail(Long id){ LandAuction landAuction = landMapper.getLandAuctionDetail(id); @@ -365,6 +368,7 @@ public class LandService { @BusinessProcess(action = LogAction.LAND_AUCTION) @Transactional(transactionManager = "transactionManager") + @RequestLog public LandResponse postLandAuction(LandRequest landRequest){ Integer land_id = landRequest.getLandId(); @@ -404,6 +408,7 @@ public class LandService { @BusinessProcess(action = LogAction.LAND_OWNER_CHANGE) @Transactional(transactionManager = "transactionManager") + @RequestLog public LandResponse postLandOwnerChanges(LandRequest landRequest){ String guid = landRequest.getUserGuid(); String nickname = dynamodbUserService.getGuidByName(guid); @@ -458,6 +463,7 @@ public class LandService { @BusinessProcess(action = LogAction.LAND_AUCTION) @Transactional(transactionManager = "transactionManager") + @RequestLog public LandResponse updateLandAuction(Long id, LandRequest landRequest) { landRequest.setId(id); landRequest.setUpdateBy(CommonUtils.getAdmin().getId()); @@ -487,6 +493,7 @@ public class LandService { @BusinessProcess(action = LogAction.LAND_OWNER_CHANGE) @Transactional(transactionManager = "transactionManager") + @RequestLog public LandResponse updateLandOwnerChanges(Long id, LandRequest landRequest) { landRequest.setId(id); landRequest.setUpdateBy(CommonUtils.getAdmin().getId()); @@ -507,6 +514,7 @@ public class LandService { @BusinessProcess(action = LogAction.LAND_AUCTION) @Transactional(transactionManager = "transactionManager") + @RequestLog public LandResponse deleteLandAuction(LandRequest landRequest){ Map map = new HashMap<>(); AtomicBoolean is_falil = new AtomicBoolean(false); @@ -549,6 +557,7 @@ public class LandService { @BusinessProcess(action = LogAction.LAND_OWNER_CHANGE) @Transactional(transactionManager = "transactionManager") + @RequestLog public LandResponse deleteLandOwnerChanges(LandRequest landRequest){ Long id = landRequest.getId(); LandOwnerChange info = landMapper.getLandOwnerChangeDetail(id); diff --git a/src/main/java/com/caliverse/admin/domain/service/LogService.java b/src/main/java/com/caliverse/admin/domain/service/LogService.java index 4c6efb4..19baffc 100644 --- a/src/main/java/com/caliverse/admin/domain/service/LogService.java +++ b/src/main/java/com/caliverse/admin/domain/service/LogService.java @@ -8,6 +8,7 @@ import com.caliverse.admin.domain.request.LogGameRequest; import com.caliverse.admin.domain.request.LogGenericRequest; import com.caliverse.admin.domain.response.IndicatorsResponse; import com.caliverse.admin.domain.response.LogResponse; +import com.caliverse.admin.global.common.annotation.RequestLog; import com.caliverse.admin.global.common.code.CommonCode; import com.caliverse.admin.global.common.code.ErrorCode; import com.caliverse.admin.global.common.exception.RestApiException; @@ -49,6 +50,7 @@ public class LogService { private final IndicatorsUserCreateService indicatorsUserCreateService; private final IndicatorsSnapshotService indicatorsSnapshotService; + @RequestLog public LogResponse genericLogList(LogGenericRequest logGenericRequest){ int page = logGenericRequest.getPageNo(); int size = logGenericRequest.getPageSize(); @@ -304,6 +306,7 @@ public class LogService { } } + @RequestLog public LogResponse getCurrencyLogList(Map requestParams){ LocalDateTime startDt = DateUtils.stringISOToLocalDateTime(requestParams.get("start_dt")); LocalDateTime endDt = DateUtils.stringISOToLocalDateTime(requestParams.get("end_dt")); @@ -425,6 +428,7 @@ public class LogService { } + @RequestLog public LogResponse getCurrencyDetailLogList(Map requestParams){ String searchType = requestParams.get("search_type"); String searchData = requestParams.get("search_data"); @@ -528,6 +532,7 @@ public class LogService { } + @RequestLog public LogResponse getItemDetailLogList(Map requestParams){ String searchType = requestParams.get("search_type"); String searchData = requestParams.get("search_data"); @@ -634,6 +639,7 @@ public class LogService { } + @RequestLog public LogResponse getCurrencyItemLogList(Map requestParams){ String searchType = requestParams.get("search_type"); String searchData = requestParams.get("search_data"); @@ -737,6 +743,7 @@ public class LogService { } + @RequestLog public LogResponse getUserCreateLogList(Map requestParams){ String searchType = requestParams.get("search_type"); String searchData = requestParams.get("search_data"); @@ -828,6 +835,7 @@ public class LogService { } + @RequestLog public LogResponse getUserLoginDetailLogList(Map requestParams){ String searchType = requestParams.get("search_type"); String searchData = requestParams.get("search_data"); @@ -922,6 +930,7 @@ public class LogService { } + @RequestLog public LogResponse getSnapshotLogList(Map requestParams){ String searchType = requestParams.get("search_type"); String searchData = requestParams.get("search_data"); diff --git a/src/main/java/com/caliverse/admin/domain/service/MailService.java b/src/main/java/com/caliverse/admin/domain/service/MailService.java index 465fd76..67a8f27 100644 --- a/src/main/java/com/caliverse/admin/domain/service/MailService.java +++ b/src/main/java/com/caliverse/admin/domain/service/MailService.java @@ -11,6 +11,7 @@ import com.caliverse.admin.domain.response.MailResponse; import com.caliverse.admin.dynamodb.service.DynamodbCaliumService; import com.caliverse.admin.dynamodb.service.DynamodbUserService; import com.caliverse.admin.global.common.annotation.BusinessProcess; +import com.caliverse.admin.global.common.annotation.RequestLog; import com.caliverse.admin.global.common.code.CommonCode; import com.caliverse.admin.global.common.code.ErrorCode; import com.caliverse.admin.global.common.code.SuccessCode; @@ -73,6 +74,7 @@ public class MailService { .build(); } + @RequestLog public MailResponse getList(Map requestParam){ // gameDB 조회 및 서비스 로직 @@ -97,6 +99,7 @@ public class MailService { .build(); } + @RequestLog public MailResponse getdetail(Long id){ // gameDB 조회 및 서비스 로직 @@ -175,6 +178,7 @@ public class MailService { @BusinessProcess(action = LogAction.MAIL) @Transactional(transactionManager = "transactionManager") + @RequestLog public MailResponse postMail(MailRequest mailRequest){ mailRequest.setCreateBy(CommonUtils.getAdmin().getId()); if(mailRequest.isReserve()){ @@ -291,7 +295,7 @@ public class MailService { } ); } - log.info("postMail Insert Mail: {}", mailRequest); + log.info("postMail Insert Mail Complete id: {}", mailRequest.getId()); Mail info = mailMapper.getMailDetail(mailRequest.getId()); info.setMailList(mailMapper.getMessage(mailRequest.getId())); @@ -327,6 +331,7 @@ public class MailService { @BusinessProcess(action = LogAction.MAIL) @Transactional(transactionManager = "transactionManager") + @RequestLog public MailResponse updateMail(Long id, MailRequest mailRequest) { mailRequest.setId(id); mailRequest.setUpdateBy(CommonUtils.getAdmin().getId()); @@ -431,6 +436,7 @@ public class MailService { @BusinessProcess(action = LogAction.MAIL) @Transactional(transactionManager = "transactionManager") + @RequestLog public MailResponse deleteMail(MailRequest mailRequest){ Map map = new HashMap<>(); @@ -443,7 +449,7 @@ public class MailService { // 스케줄에서 제거 scheduleService.closeTask("mail-" + item.getId()); - log.info("deleteMail Mail: {}", item); + log.info("deleteMail Mail id: {}", id); } ); diff --git a/src/main/java/com/caliverse/admin/domain/service/MenuService.java b/src/main/java/com/caliverse/admin/domain/service/MenuService.java index e47e1c5..1c2348d 100644 --- a/src/main/java/com/caliverse/admin/domain/service/MenuService.java +++ b/src/main/java/com/caliverse/admin/domain/service/MenuService.java @@ -9,6 +9,7 @@ import com.caliverse.admin.domain.request.MenuRequest; import com.caliverse.admin.domain.response.MenuResponse; import com.caliverse.admin.dynamodb.service.DynamodbMenuService; import com.caliverse.admin.global.common.annotation.BusinessProcess; +import com.caliverse.admin.global.common.annotation.RequestLog; import com.caliverse.admin.global.common.code.CommonCode; import com.caliverse.admin.global.common.code.ErrorCode; import com.caliverse.admin.global.common.code.SuccessCode; @@ -61,6 +62,7 @@ public class MenuService { private final RedisUserInfoService redisUserInfoService; private final BusinessProcessIdManager processIdManager; + @RequestLog public MenuResponse getList(Map requestParam){ //페이징 처리 @@ -82,6 +84,7 @@ public class MenuService { .build(); } + @RequestLog public MenuResponse getdetail(Long id){ MenuBanner banner = menuMapper.getBannerDetail(id); @@ -161,6 +164,7 @@ public class MenuService { @BusinessProcess(action = LogAction.BANNER) @Transactional(transactionManager = "transactionManager") + @RequestLog public MenuResponse postBanner(MenuRequest menuRequest){ menuRequest.setCreateBy(CommonUtils.getAdmin().getId()); @@ -214,6 +218,8 @@ public class MenuService { }); } + log.info("postBanner Insert MenuBanner id: {}", menuRequest.getId()); + MenuBanner banner = menuMapper.getBannerDetail(menuRequest.getId()); banner.setImageList(menuMapper.getMessage(menuRequest.getId())); @@ -259,6 +265,7 @@ public class MenuService { @BusinessProcess(action = LogAction.BANNER) @Transactional(transactionManager = "transactionManager") + @RequestLog public MenuResponse updateBanner(Long id, MenuRequest menuRequest) { menuRequest.setId(id); menuRequest.setUpdateBy(CommonUtils.getAdmin().getId()); @@ -269,11 +276,9 @@ public class MenuService { List before_msg = menuMapper.getMessage(banner_id); before_info.setImageList(before_msg); - log.info("updateBanner Update Before MenuBanner: {}, Images: {}", before_info, before_msg); - menuMapper.updateBanner(menuRequest); - log.info("updateBanner Update After Banner: {}", menuRequest); + log.info("updateBanner Update Banner Complete: {}", menuRequest.getId()); MenuBanner after_info = menuMapper.getBannerDetail(banner_id); after_info.setImageList(menuMapper.getMessage(banner_id)); @@ -298,6 +303,7 @@ public class MenuService { @BusinessProcess(action = LogAction.BANNER) @Transactional(transactionManager = "transactionManager") + @RequestLog public MenuResponse deleteBanner(Long id){ Map map = new HashMap<>(); map.put("id",id); @@ -318,6 +324,8 @@ public class MenuService { menuMapper.deleteBanner(map); menuMapper.deleteMessage(map); + log.info("deleteBanner Delete Banner Complete id: {}", id); + if(redisUserInfoService.getAllServerList().isEmpty()){ throw new RestApiException(CommonCode.ERROR.getHttpStatus(), ErrorCode.NOT_FOUND_SERVER.getMessage()); } diff --git a/src/main/java/com/caliverse/admin/domain/service/S3Service.java b/src/main/java/com/caliverse/admin/domain/service/S3Service.java index 0cad8b7..e75a77d 100644 --- a/src/main/java/com/caliverse/admin/domain/service/S3Service.java +++ b/src/main/java/com/caliverse/admin/domain/service/S3Service.java @@ -79,6 +79,8 @@ public class S3Service { RequestBody.fromBytes(Files.readAllBytes(file.toPath())) ); + log.info("Uploaded S3 object with key: {}", objectKey); + if(response.sdkHttpResponse().isSuccessful()){ businessLogService.logS3( LogStatus.SUCCESS, diff --git a/src/main/java/com/caliverse/admin/domain/service/UserItemService.java b/src/main/java/com/caliverse/admin/domain/service/UserItemService.java deleted file mode 100644 index 97edb70..0000000 --- a/src/main/java/com/caliverse/admin/domain/service/UserItemService.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.caliverse.admin.domain.service; - -import com.caliverse.admin.global.common.constants.AdminConstants; -import com.caliverse.admin.logs.logservice.businesslogservice.BusinessLogUserItemHistoryService; -import org.springframework.stereotype.Service; - -import com.caliverse.admin.global.common.utils.CommonUtils; - -import java.util.Map; - -@Service -public class UserItemService { - - private final BusinessLogUserItemHistoryService historyService; - - public UserItemService(BusinessLogUserItemHistoryService hstoryService){ - this.historyService = hstoryService; - } - - - public String getUserItemHistory(Map requestParams){ - - //페이징 처리 - //requestParams = - CommonUtils.pageSetting(requestParams); - - //몽고 DB 에서 호출 할수 있도록 처리 - String startDate = requestParams.get(AdminConstants.INDICATORS_KEY_START_DATE); - String endDate = requestParams.get(AdminConstants.INDICATORS_KEY_END_DATE); - String itemId = requestParams.get(AdminConstants.INDICATORS_KEY_ITEM_ID); - - //UserItemService.class 바꿔야 한다. - historyService.loadBusinessLogData(startDate, endDate, itemId, UserItemService.class); - - return ""; - } -} diff --git a/src/main/java/com/caliverse/admin/domain/service/UsersService.java b/src/main/java/com/caliverse/admin/domain/service/UsersService.java index d01e54a..e7c6add 100644 --- a/src/main/java/com/caliverse/admin/domain/service/UsersService.java +++ b/src/main/java/com/caliverse/admin/domain/service/UsersService.java @@ -21,6 +21,7 @@ import com.caliverse.admin.dynamodb.domain.doc.MailDoc; import com.caliverse.admin.dynamodb.dto.PageResult; import com.caliverse.admin.dynamodb.service.*; import com.caliverse.admin.global.common.annotation.BusinessProcess; +import com.caliverse.admin.global.common.annotation.RequestLog; import com.caliverse.admin.global.common.constants.CommonConstants; import com.caliverse.admin.redis.service.RedisUserInfoService; import lombok.extern.slf4j.Slf4j; @@ -64,6 +65,7 @@ public class UsersService { // 닉네임 변경 @BusinessProcess(action = LogAction.NICKNAME_CHANGE) + @RequestLog public UsersResponse changeNickname(UsersRequest usersRequest){ String guid = usersRequest.getGuid(); String nickname = usersRequest.getNickname(); @@ -78,6 +80,8 @@ public class UsersService { userGameSessionService.kickUserSession(guid, String.format("%s User Nickname Changes", nickname)); dynamodbUserService.changesNickname(guid, nickname, newNickname); + log.info("Nickname Changed complete guid: {}", guid); + return UsersResponse.builder() .resultData(UsersResponse.ResultData.builder() .message(SuccessCode.UPDATE.getMessage()) @@ -90,11 +94,14 @@ public class UsersService { // GM 권한 변경 @BusinessProcess(action = LogAction.ADMIN_LEVEL) + @RequestLog public UsersResponse changeAdminLevel(UsersRequest usersRequest){ String guid = usersRequest.getGuid(); dynamodbUserService.updateAdminLevel(guid, usersRequest.getAdminLevel()); + log.info("Admin Level Changed Complete guid: {}", guid); + return UsersResponse.builder() .resultData(UsersResponse.ResultData.builder() .message(SuccessCode.UPDATE.getMessage()) @@ -107,12 +114,15 @@ public class UsersService { // 유저 킥 @BusinessProcess(action = LogAction.KICK_USER) + @RequestLog public UsersResponse userKick(UsersRequest usersRequest){ String guid = usersRequest.getGuid(); String adminUser = CommonUtils.getAdmin().getEmail(); userGameSessionService.kickUserSession(guid, String.format("admin %s kick out", adminUser)); + log.info("User Kicked Complete guid: {}", guid); + return UsersResponse.builder() .resultData(UsersResponse.ResultData.builder() .message(SuccessCode.SUCCESS.getMessage()) @@ -124,6 +134,7 @@ public class UsersService { } // 유정 정보 조회 닉네임,GUID,Account ID + @RequestLog public UsersResponse findUsers(Map requestParam){ String searchType = requestParam.get("search_type").toString(); @@ -160,6 +171,7 @@ public class UsersService { } //유저 기본 정보 + @RequestLog public UsersResponse getBasicInfo(String guid){ String account_id = dynamodbUserService.getGuidByAccountId(guid); @@ -207,6 +219,7 @@ public class UsersService { } //아바타 정보 + @RequestLog public UsersResponse getAvatarInfo(String guid){ //avatarInfo @@ -225,6 +238,7 @@ public class UsersService { } //의상 정보 + @RequestLog public UsersResponse getClothInfo(String guid){ Map charInfo = dynamodbItemService.getClothItems(guid); @@ -241,6 +255,7 @@ public class UsersService { } //도구 정보 + @RequestLog public UsersResponse getToolSlotInfo(String guid){ Map toolSlot = dynamodbItemService.getTools(guid); @@ -257,6 +272,7 @@ public class UsersService { } //인벤토리 정보 + @RequestLog public UsersResponse getInventoryInfo(String guid){ UsersResponse.InventoryInfo inventoryInfo = dynamodbItemService.getInvenItems(guid); log.info("getInventoryInfo Inventory Items: {}", inventoryInfo); @@ -275,6 +291,7 @@ public class UsersService { //인벤토리 아이템 삭제 @BusinessProcess(action = LogAction.ITEM) + @RequestLog public UsersResponse deleteInventoryItem(Map requestParams){ String guid = requestParams.get("guid"); String item_guid = requestParams.get("item_guid"); @@ -284,6 +301,8 @@ public class UsersService { userGameSessionService.kickUserSession(guid, "Item delete"); if(update_cnt >= current_cnt){ dynamodbItemService.deleteItem(guid, item_guid); + + log.info("Item delete complete guid: {}", guid); return UsersResponse.builder() .status(CommonCode.SUCCESS.getHttpStatus()) .result(CommonCode.SUCCESS.getResult()) @@ -294,6 +313,8 @@ public class UsersService { }else{ int cnt = current_cnt - update_cnt; dynamodbItemService.updateItemStack(guid, item_guid, cnt); + + log.info("Item update complete guid: {}", guid); return UsersResponse.builder() .status(CommonCode.SUCCESS.getHttpStatus()) .result(CommonCode.SUCCESS.getResult()) @@ -305,6 +326,7 @@ public class UsersService { } //우편 정보 + @RequestLog public UsersResponse getMail(UsersRequest usersRequest){ PageResult mailPageResult = dynamodbMailService.getMail(usersRequest.getMailType(), usersRequest.getGuid(), "", usersRequest.getPageKey()); List mailList = new ArrayList<>(); @@ -388,6 +410,7 @@ public class UsersService { //우편 삭제 @BusinessProcess(action = LogAction.MAIL) + @RequestLog public UsersResponse deleteMail(Map requestParams){ String guid = requestParams.get("guid"); String mail_guid = requestParams.get("mail_guid"); @@ -396,6 +419,8 @@ public class UsersService { userGameSessionService.kickUserSession(guid, "delete mail"); dynamodbMailService.deleteMail(type, guid, mail_guid); + log.info("Delete mail complete guid: {}", guid); + return UsersResponse.builder() .status(CommonCode.SUCCESS.getHttpStatus()) .result(CommonCode.SUCCESS.getResult()) @@ -407,11 +432,14 @@ public class UsersService { //우편 아이템 삭제 @BusinessProcess(action = LogAction.MAIL_ITEM) + @RequestLog public UsersResponse deleteMailItem(MailRequest.DeleteMailItem deleteMailItem){ userGameSessionService.kickUserSession(deleteMailItem.getGuid(), "delete mail item"); dynamodbMailService.deleteMailItem(deleteMailItem.getType(), deleteMailItem.getGuid(), deleteMailItem.getMailGuid(), deleteMailItem.getItemId(), deleteMailItem.getParrentCount(), deleteMailItem.getCount()); + log.info("Delete mail item complete guid: {}", deleteMailItem.getGuid()); + return UsersResponse.builder() .status(CommonCode.SUCCESS.getHttpStatus()) .result(CommonCode.SUCCESS.getResult()) @@ -422,6 +450,7 @@ public class UsersService { } //마이홈 정보 + @RequestLog public UsersResponse getMyhome(String guid){ List myhome = dynamodbMyHomeService.getMyHome(guid); @@ -438,6 +467,7 @@ public class UsersService { } //친구 목록 + @RequestLog public UsersResponse getFriendList(String guid){ List friendList = dynamodbFriendService.getFriend(guid); @@ -487,6 +517,7 @@ public class UsersService { } //타투 정보 + @RequestLog public UsersResponse getTattoo(String guid){ List resTatto = dynamodbItemService.getTattoo(guid); @@ -503,6 +534,7 @@ public class UsersService { } //퀘스트 정보 + @RequestLog public UsersResponse getQuest(String guid){ List questList = dynamodbQuestService.getQuestItems(guid); @@ -519,6 +551,7 @@ public class UsersService { } @BusinessProcess(action = LogAction.QUEST_TASK) + @RequestLog public UsersResponse CompleteQuestTask(UsersRequest usersRequest){ String serverName = redisUserInfoService.getFirstChannel(); if(serverName.isEmpty()){ @@ -548,6 +581,8 @@ public class UsersService { throw new RestApiException(CommonCode.ERROR.getHttpStatus(), ErrorCode.MESSAGE_SEND_FAIL.getMessage()); } + log.info("CompleteQuestTask Quest Task forced completion guid: {}, quest: {}", guid, usersRequest.getQuestKey()); + return UsersResponse.builder() .status(CommonCode.SUCCESS.getHttpStatus()) .result(CommonCode.SUCCESS.getResult()) diff --git a/src/main/java/com/caliverse/admin/global/common/annotation/RequestLog.java b/src/main/java/com/caliverse/admin/global/common/annotation/RequestLog.java new file mode 100644 index 0000000..1702dd0 --- /dev/null +++ b/src/main/java/com/caliverse/admin/global/common/annotation/RequestLog.java @@ -0,0 +1,25 @@ +package com.caliverse.admin.global.common.annotation; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Target(ElementType.METHOD) +@Retention(RetentionPolicy.RUNTIME) +public @interface RequestLog { + /** + * 로그에 포함할 파라미터 이름들 (빈 배열이면 모든 파라미터 로깅) + */ + String[] includeParams() default {}; + + /** + * 로그에서 제외할 파라미터 이름들 + */ + String[] excludeParams() default {}; + + /** + * 로그 레벨 (기본값: INFO) + */ + String level() default "INFO"; +} diff --git a/src/main/java/com/caliverse/admin/global/common/aspect/LoggingAspect.java b/src/main/java/com/caliverse/admin/global/common/aspect/LoggingAspect.java index c4ff584..e521c62 100644 --- a/src/main/java/com/caliverse/admin/global/common/aspect/LoggingAspect.java +++ b/src/main/java/com/caliverse/admin/global/common/aspect/LoggingAspect.java @@ -10,8 +10,8 @@ import org.slf4j.LoggerFactory; import org.slf4j.MDC; import org.springframework.stereotype.Component; -@Aspect -@Component +//@Aspect +//@Component @Slf4j public class LoggingAspect { // private static final Logger log = LoggerFactory.getLogger("METHOD_LOGGER"); diff --git a/src/main/java/com/caliverse/admin/global/common/aspect/RequestLogAspect.java b/src/main/java/com/caliverse/admin/global/common/aspect/RequestLogAspect.java new file mode 100644 index 0000000..48a321d --- /dev/null +++ b/src/main/java/com/caliverse/admin/global/common/aspect/RequestLogAspect.java @@ -0,0 +1,92 @@ +package com.caliverse.admin.global.common.aspect; + +import com.caliverse.admin.global.common.annotation.RequestLog; +import com.caliverse.admin.global.common.utils.CommonUtils; +import com.fasterxml.jackson.databind.ObjectMapper; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.aspectj.lang.JoinPoint; +import org.aspectj.lang.annotation.Aspect; +import org.aspectj.lang.annotation.Before; +import org.aspectj.lang.reflect.MethodSignature; +import org.springframework.stereotype.Component; + +import java.lang.reflect.Parameter; +import java.util.Arrays; +import java.util.Map; + +@Aspect +@Component +@Slf4j +@RequiredArgsConstructor +public class RequestLogAspect { + + private final ObjectMapper objectMapper; + + @Before("@annotation(requestLog)") + public void logAnnotatedRequest(JoinPoint joinPoint, RequestLog requestLog) { + try { + String email = CommonUtils.getAdmin() != null ? CommonUtils.getAdmin().getEmail() : ""; + String methodName = joinPoint.getSignature().getName(); + String className = joinPoint.getTarget().getClass().getSimpleName(); + + MethodSignature signature = (MethodSignature) joinPoint.getSignature(); + Parameter[] parameters = signature.getMethod().getParameters(); + Object[] args = joinPoint.getArgs(); + + StringBuilder logMessage = new StringBuilder(); + logMessage.append(String.format("%s.%s user: %s", className, methodName, email)); + + // 어노테이션 설정에 따른 파라미터 필터링 + for (int i = 0; i < parameters.length && i < args.length; i++) { + if (args[i] != null) { + String paramName = parameters[i].getName(); + + // 제외할 파라미터 체크 + if (requestLog.excludeParams().length > 0 && + Arrays.asList(requestLog.excludeParams()).contains(paramName)) { + continue; + } + + // 포함할 파라미터 체크 (설정된 경우) + if (requestLog.includeParams().length > 0 && + !Arrays.asList(requestLog.includeParams()).contains(paramName)) { + continue; + } + + Object paramValue = args[i]; + + if (paramValue instanceof Map) { + try { + String jsonValue = objectMapper.writeValueAsString(paramValue); + logMessage.append(String.format(", %s: %s", paramName, jsonValue)); + } catch (Exception e) { + logMessage.append(String.format(", %s: %s", paramName, paramValue.toString())); + } + } else { + logMessage.append(String.format(", %s: %s", paramName, paramValue.toString())); + } + } + } + + // 로그 레벨에 따른 출력 + switch (requestLog.level().toUpperCase()) { + case "DEBUG": + log.debug(logMessage.toString()); + break; + case "WARN": + log.warn(logMessage.toString()); + break; + case "ERROR": + log.error(logMessage.toString()); + break; + default: + log.info(logMessage.toString()); + break; + } + + } catch (Exception e) { + log.warn("로깅 중 오류 발생: {}", e.getMessage()); + } + } +} diff --git a/src/main/java/com/caliverse/admin/logs/logservice/indicators/IndicatorsCurrencyService.java b/src/main/java/com/caliverse/admin/logs/logservice/indicators/IndicatorsCurrencyService.java index 401eb27..992e85d 100644 --- a/src/main/java/com/caliverse/admin/logs/logservice/indicators/IndicatorsCurrencyService.java +++ b/src/main/java/com/caliverse/admin/logs/logservice/indicators/IndicatorsCurrencyService.java @@ -77,9 +77,9 @@ public class IndicatorsCurrencyService extends IndicatorsLogLoadServiceBase { mongo_log.getTotalCurrencies(), mongo_log.getCurrencies() ); - log.info("collectCurrency Currency Log Save logDay: {}, info: {}", logDay, currencyLog); saveStatLogData(currencyLog); } + log.info("collectCurrency Currency Log Save logDay: {}", logTimeStr); } private void saveStatLogData(IndicatorsLog indicatorsLog) { diff --git a/src/main/java/com/caliverse/admin/logs/logservice/indicators/IndicatorsItemService.java b/src/main/java/com/caliverse/admin/logs/logservice/indicators/IndicatorsItemService.java index 1c0421e..24ee5fb 100644 --- a/src/main/java/com/caliverse/admin/logs/logservice/indicators/IndicatorsItemService.java +++ b/src/main/java/com/caliverse/admin/logs/logservice/indicators/IndicatorsItemService.java @@ -59,9 +59,9 @@ public class IndicatorsItemService extends IndicatorsLogLoadServiceBase { mongo_log.getItemDetails(), mongo_log.getItemTypeLargeStats() ); - log.info("collectItem Item Log Save logDay: {}, info: {}", logDay, itemLog); saveStatLogData(itemLog); } + log.info("collectItem Item Log Save logDay: {}", logTimeStr); } private void saveStatLogData(IndicatorsLog indicatorsLog) { diff --git a/src/main/java/com/caliverse/admin/logs/logservice/indicators/IndicatorsSnapshotService.java b/src/main/java/com/caliverse/admin/logs/logservice/indicators/IndicatorsSnapshotService.java index 3f9f288..a966636 100644 --- a/src/main/java/com/caliverse/admin/logs/logservice/indicators/IndicatorsSnapshotService.java +++ b/src/main/java/com/caliverse/admin/logs/logservice/indicators/IndicatorsSnapshotService.java @@ -65,9 +65,9 @@ public class IndicatorsSnapshotService extends IndicatorsLogLoadServiceBase { mongo_log.getItem_13080009(), mongo_log.getLastLogoutTime() ); - log.info("collectSnapshot Snapshot Log Save logDay: {}, info: {}", logTimeStr, snapshotLog); saveStatLogData(snapshotLog); } + log.info("collectSnapshot Snapshot Log Save logDay: {}", logTimeStr); } private void saveStatLogData(IndicatorsLog indicatorsLog) { diff --git a/src/main/java/com/caliverse/admin/logs/logservice/indicators/IndicatorsUserCreateService.java b/src/main/java/com/caliverse/admin/logs/logservice/indicators/IndicatorsUserCreateService.java index 18e0ca0..8e35f60 100644 --- a/src/main/java/com/caliverse/admin/logs/logservice/indicators/IndicatorsUserCreateService.java +++ b/src/main/java/com/caliverse/admin/logs/logservice/indicators/IndicatorsUserCreateService.java @@ -45,9 +45,9 @@ public class IndicatorsUserCreateService extends IndicatorsLogLoadServiceBase { String logDay = mongo_log.getLogDay(); UserCreateLogInfo userCreateLog = new UserCreateLogInfo(logDay, mongo_log.getAccountId(), mongo_log.getUserGuid(), mongo_log.getUserNickname(), mongo_log.getCreatedTime()); - log.info("collectUserCreate UserCreate Log Save logDay: {}, userGuid: {}, createTime: {}", logDay, userCreateLog.getUserGuid(), userCreateLog.getCreatedTime()); saveStatLogData(userCreateLog); } + log.info("collectUserCreate UserCreate Log Save logDay: {}", logTimeStr); } public void saveStatLogData(IndicatorsLog indicatorsLog) { diff --git a/src/main/java/com/caliverse/admin/logs/logservice/indicators/IndicatorsUserLoginService.java b/src/main/java/com/caliverse/admin/logs/logservice/indicators/IndicatorsUserLoginService.java index a8cf461..cca03b5 100644 --- a/src/main/java/com/caliverse/admin/logs/logservice/indicators/IndicatorsUserLoginService.java +++ b/src/main/java/com/caliverse/admin/logs/logservice/indicators/IndicatorsUserLoginService.java @@ -62,9 +62,9 @@ public class IndicatorsUserLoginService extends IndicatorsLogLoadServiceBase { mongo_log.getLoginCount(), mongo_log.getTotalPlayTime() ); - log.info("collectUserLogin UserLogin Log Save logDay: {}, info: {}", logDay, userCreateLog); saveStatLogData(userCreateLog); } + log.info("collectUserLogin UserLogin Log Save logDay: {}", logTimeStr); } public void saveStatLogData(IndicatorsLog indicatorsLog) { diff --git a/src/main/resources/config/dev/logback-spring.xml b/src/main/resources/config/dev/logback-spring.xml index 940652b..8e974f5 100644 --- a/src/main/resources/config/dev/logback-spring.xml +++ b/src/main/resources/config/dev/logback-spring.xml @@ -8,7 +8,7 @@ - %d{yyyy-MM-dd HH:mm:ss.SS} [%thread] %-3level %logger{15}%X{method, .%method} - %msg %n + %d{yyyy-MM-dd HH:mm:ss.SS} [%thread] %-3level %logger{15} - %msg %n @@ -19,6 +19,7 @@ ${LOG_PATH_NAME}.%d{yyyy-MM-dd}.%i.log 10MB 60 + 3GB %d{yyyy-MM-dd HH:mm:ss} [%-5p] [%F]%M\(%L\) : %m%n diff --git a/src/main/resources/config/live/logback-spring.xml b/src/main/resources/config/live/logback-spring.xml index 2eb973f..56bdc59 100644 --- a/src/main/resources/config/live/logback-spring.xml +++ b/src/main/resources/config/live/logback-spring.xml @@ -8,7 +8,7 @@ - %d{yyyy-MM-dd HH:mm:ss.SS} [%thread] %-3level %logger{15}%X{method, .%method} - %msg %n + %d{yyyy-MM-dd HH:mm:ss.SS} [%thread] %-3level %logger{15} - %msg %n @@ -19,6 +19,7 @@ ${LOG_PATH_NAME}.%d{yyyy-MM-dd}.%i.log 10MB 60 + 3GB %d{yyyy-MM-dd HH:mm:ss} [%-5p] [%F]%M\(%L\) : %m%n diff --git a/src/main/resources/config/local/application.yml b/src/main/resources/config/local/application.yml index e22ab9f..384828f 100644 --- a/src/main/resources/config/local/application.yml +++ b/src/main/resources/config/local/application.yml @@ -102,17 +102,17 @@ excel: ################################################################################################################################################################################################ amazon: dynamodb: - endpoint: http://localhost:8000/ -# endpoint: https://dynamodb.us-west-2.amazonaws.com +# endpoint: http://localhost:8000/ + endpoint: https://dynamodb.us-west-2.amazonaws.com metaTable: Metaverse-Dev # metaTable: Metaverse-Live aws: - accesskey: "" - secretkey: "" - region: "" -# accesskey: AKIA4G3CB4Z5T6JUPHJN -# secretkey: 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 -# region: us-west-2 +# accesskey: "" +# secretkey: "" +# region: "" + accesskey: AKIA4G3CB4Z5T6JUPHJN + secretkey: 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 + region: us-west-2 s3: bucket-name: metaverse-admintool cloud-front: https://d1yr1qrnuiu29u.cloudfront.net/ @@ -189,13 +189,13 @@ redis: sync-timeout: 30000 ssl: false abort-connect: false -# host: 10.20.20.8 -# port: 6379 -# password: KT-i5#i%-%LxKfZ5YJj6 -# async-timeout: 30000 -# sync-timeout: 30000 -# ssl: false -# abort-connect: false +# host: 10.20.20.8 +# port: 6379 +# password: KT-i5#i%-%LxKfZ5YJj6 +# async-timeout: 30000 +# sync-timeout: 30000 +# ssl: false +# abort-connect: false web3: diff --git a/src/main/resources/config/local/logback-spring.xml b/src/main/resources/config/local/logback-spring.xml index b633a54..9cf600f 100644 --- a/src/main/resources/config/local/logback-spring.xml +++ b/src/main/resources/config/local/logback-spring.xml @@ -8,7 +8,7 @@ - %d{yyyy-MM-dd HH:mm:ss.SS} [%thread] %-3level %logger{15}%X{method, .%method} - %msg %n + %d{yyyy-MM-dd HH:mm:ss.SS} [%thread] %-3level %logger{15} - %msg %n @@ -26,18 +26,6 @@ - - - - - - - - - %d{yyyy-MM-dd HH:mm:ss.SS} [%thread] %-3level [%X{method}] - %msg%n - - - diff --git a/src/main/resources/config/qa/logback-spring.xml b/src/main/resources/config/qa/logback-spring.xml index 2eb973f..56bdc59 100644 --- a/src/main/resources/config/qa/logback-spring.xml +++ b/src/main/resources/config/qa/logback-spring.xml @@ -8,7 +8,7 @@ - %d{yyyy-MM-dd HH:mm:ss.SS} [%thread] %-3level %logger{15}%X{method, .%method} - %msg %n + %d{yyyy-MM-dd HH:mm:ss.SS} [%thread] %-3level %logger{15} - %msg %n @@ -19,6 +19,7 @@ ${LOG_PATH_NAME}.%d{yyyy-MM-dd}.%i.log 10MB 60 + 3GB %d{yyyy-MM-dd HH:mm:ss} [%-5p] [%F]%M\(%L\) : %m%n diff --git a/src/main/resources/config/stage/logback-spring.xml b/src/main/resources/config/stage/logback-spring.xml index 2eb973f..56bdc59 100644 --- a/src/main/resources/config/stage/logback-spring.xml +++ b/src/main/resources/config/stage/logback-spring.xml @@ -8,7 +8,7 @@ - %d{yyyy-MM-dd HH:mm:ss.SS} [%thread] %-3level %logger{15}%X{method, .%method} - %msg %n + %d{yyyy-MM-dd HH:mm:ss.SS} [%thread] %-3level %logger{15} - %msg %n @@ -19,6 +19,7 @@ ${LOG_PATH_NAME}.%d{yyyy-MM-dd}.%i.log 10MB 60 + 3GB %d{yyyy-MM-dd HH:mm:ss} [%-5p] [%F]%M\(%L\) : %m%n