|CommentService.java
//댓글 수정
@Transactional
public ResponseEntity<CommentUpdateResponseDto> updateComment(CommentUpdateRequestDto commentUpdateRequestDto, Long commentId, MemberDetails memberDetails) {
Optional<Member> memberOptional = memberRepository.findById(memberDetails.getMember().getId());
Member member = memberOptional.get();
Optional<Comment> commentOptional = member.findComment(commentId);
if (commentOptional.isEmpty()) {
log.error("nickname={}, error={}", member.getNickname(), "해당 댓글을 찾을 수 없습니다.");
return new ResponseEntity<>(
CommentUpdateResponseDto.builder()
.status(StatusMessage.BAD_REQUEST)
.build(),
HttpStatus.valueOf(StatusCode.BAD_REQUEST)
);
}
if (commentUpdateRequestDto.getContent().length() > 255) {
log.error("nickname={}, error={}", member.getNickname(), "댓글 수정 글자 255자 초과");
return new ResponseEntity<>(
CommentUpdateResponseDto.builder().status(StatusMessage.BAD_REQUEST).build(),
HttpStatus.valueOf(StatusCode.BAD_REQUEST)
);
}
Comment comment = commentOptional.get();
//setter를 쓰니까 .setContent로 바로해주면 됨.
comment.setContent(commentUpdateRequestDto.getContent());
return new ResponseEntity<>(
CommentUpdateResponseDto.builder()
.status(StatusMessage.SUCCESS)
.build(),
HttpStatus.valueOf(StatusCode.SUCCESS)
);
}
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="30 seconds">
<!--로그 파일 저장 위치-->
<property name="LOGS_PATH" value="C:/coco_log/"/>>
<appender name="ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>WARN</level>
</filter>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- rollover daily -->
<fileNamePattern>${LOGS_PATH}log-%d{yyyy-MM-dd_HH_mm}.%i.txt</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<!-- or whenever the file size reaches 100MB -->
<maxFileSize>100MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<maxHistory>10</maxHistory>
</rollingPolicy>
<encoder>
<pattern>[%-5level] %d{HH:mm:ss.SSS} %logger{36} %M - %msg%n</pattern>
</encoder>
</appender>
<root level="debug">
<appender-ref ref="ROLLING"/>
</root>
</configuration>
여기서 우리는 테스트로 1분마다 1개의 logfiled을 10개, 즉 10분의 로그가 잘찍히는지 테스트해보기로 했다. 설정은 아래와같다.
<fileNamePattern>${LOGS_PATH}log-%d{yyyy-MM-dd_HH_mm}.%i.txt</fileNamePattern>
이 줄에서 %d{yyyy-MM-dd_HH_mm}
에서 HH-mm
까지 해줬으므로 분마다 처리가 된다.
그리고
<maxHistory>10</maxHistory>
을 통해서 10
개의 파일을 받기로 함.
1분마다 log파일이 생성되고, max로 10개의 파일.
우리가 금요일 오후에 배포해서 월요일 오전 까지 열어놓는다고 생각했을 때, 약 60시간동안 피드백을 받는다고 가정하면
우리는 %d{yyyy-MM-dd_HH}
+ <maxHistory>60</maxHistory>
이 되겠다.
시도해봤지만 역시나 안됐다. 뭔가 알 것 같으면서도 잘..안되는...시간 날때마다 다시 시도해보자!
오! LOG 처리하는 거 덕분에 저희도 잘 해결했습니다~ 감사합니다!