SpringBoot 6

SpringBoot LogBack 간단설정

오늘은 SpringBoot의 Application.yml을 이용하여 LogBack을 간단하게 남기는 방법에 대해 쓰도록 하겠습니다. SpringBoot를 이용하여, LogBack을 간단하게 구현하려면 아래와 같은 방식으로 구현을 하면 됩니다. logging: file : name : /users/myapp/log/test.log // 파일 경로 및 이름 level: root: INFO // 로그레벨 지정 logback: rollingpolicy: file-name-pattern: Log-%d{yyyy-MM-dd}.%i.log //로그에 대해서 날짜별로 나누기 위함. clean-history-on-start: true total-size-cap: 100MB // 로그 파일 사이즈 조정 max-history..

Spring 2021.06.07

SpringBoot Dynamic Log

오늘은 Actuator를 이용한 Dynamic Log에 대해서 알아보도록 하겠습니다. Actuator를 이용하여 SpringBoot Log 레벨을 설정한다면, 매우 다이내믹하게 사용이 가능합니다. curl -X "POST" "http://localhost:8080/actuator/loggers/ROOT" -H "Content-Type: application/json; charset=utf-8" -d $'{ "configuredLevel": "DEBUG" }' 이러한 주소 하나를 호출하는 것만으로 실행 중인 어플리케이션으로 Log Level을 변경해줄 수 있습니다. 해당 설정을 하기 위해서는 build.gadle 또는 pom.xml에 actuator를 빌드하셔야 사용 가능합니다. dependencies {..

Spring 2021.06.07

SpringBoot Kotlin Log(AOP/Filter)

안녕하세요~ 요가하는 개발자입니다 ㅎㅎ 어느날 Log를 어떻게 찍을 것이냐! 라는 이야기를 듣고, 내 나름대로 Log에 대한 데이터를 찾아보며, Log를 어떻게 찍을 것인지에 대해서 정해보았습니다. 몇가지 규칙을 정하고 자료 검색 / 사람들은 어떻게 구현하였는지에 대한 코드 분석을 하여, 아래와 같은 규칙을 정하고 구현을 시작하였습니다. 규칙. Controller / Service / Repositroy에 들어가는 ClassName과 Parameter, Time, Api 주소, Api 요청은 항상 Log로 남겨둘 것. 유저 표시로는 AOP에서 Body 데이터를 꺼내 유저에 대한 정보를 얻을 수 있는 방법을 어렵고, 현재는 Spring Security는 너무 복잡하고 무겁기 때문에, RequestHeade..

Spring 2021.06.06

@Transactional 사용 시 주의해야하는 8가지

지난번에 @Transactional에 대해서 알아보았다. 오늘은 @Transactional을 사용시 주의점에 대해서 8가지정도 알아보려고 합니다. @Transactional이 무엇인지 궁금하다면, 아래의 링크를 통하여 한번 보고 오시길 바랍니다. @Transactional 이란? @Transactional Spring을 공부하다보면 AOP(Aspect oriented programming) 라는 주제가 항상 나온다. 그 AOP라는 주제에 대해서 공부하다보면 가장 먼저 나오는 AOP의 주제는 바로 @Transactional을 구현하는 것이다. 해당 @Tran.. flambeeyoga.tistory.com @Transactional 사용 시 주의해야하는 8가지 1. @Transactional의 우선순위. 클..

Spring 2021.03.21

@Transactional을 아시나요?

Spring을 공부하다보면 AOP(Aspect oriented programming) 라는 주제가 항상 나온다. 그 AOP라는 주제에 대해서 공부하다보면 가장 먼저 나오는 AOP의 주제는 바로 @Transactional을 구현하는 것이다. 해당 @Transactional을 구현하는 방법에 대해서는 토비님의 책 중에 토비의 스프링Vol1에서 AOP의 주제와 함께 세세하게 설명되어 있다. 오늘은 바로 @Transactional이 무엇인지에 대해서 설명하려고 합니다. @Transactional 이란? Spring에서 지원하는 트랜잭션 처리 Annotation. AOP로 구성되어 있으며, 직접적으로 Repository와 연결되어 작업되는 Service method에 @Transactional을 붙여주면, 처음에..

Spring 2021.03.21

@ControllerAdvice와 RequestBodyAdvice을 이용한 RequestBody 데이터 변경 방법

이 글에 앞서, 일단 @ControllerAdvice에 대해서 짧게 알아가려고 합니다. @ControllerAdvice를 아시나요? @ControllerAdvice는 짧게 말해서 Spring이 제공하는 AOP(Aspect oriented programming)의 기능 중에 하나이며, 전역에 있는 컨트롤러에 공통적으로 사용되는 것이 있을때, 적용시켜주는 annotation입니다. 현재 흔히 사용하는 @ControllerAdvice의 방법은 대표적으로 Global ExceptionHandler를 만드는 방식으로 쓰이고 있고, 많은 블로그에서 대부분 @ControllerAdvice의 예제는 Global ExceptionHandler에 대한 예제로 가득차 있다. 또한 @ControllerAdvice는 Excep..

Spring 2021.03.20