log 3

ThreadLocal

2021.10.28 - [Spring/Spring Core Advanced] - 로그 추적기 로그 추적기 애플리케이션이 커질수록 모니터링과 운영이 중요해진다. 어떤 부분에서 병목현상이 발생하는지 어떤 부분에서 예외가 발생하는지를 로그로 확인하는 것은 매우 중요하다. 아래와 같은 요구사 minchul-son.tistory.com 위 글에서 만든 로그 추적기는 파라미터로 트랜잭션 상태를 넘기며 동기화를 하였다. 하지만 이 방식은 모든 메서드에 파라미터를 추가해야하는 등 몇가지 문제가 존재했는데 파라미터를 넘기지 않도록 만들어 이 문제를 해결할 수 있는 방식에 대해 알아보자. 필드 동기화 파라미터를 넘기지 않고 필드를 동기화할 수 있는 방법에 대해 알아보자. 먼저 LogTrace의 인터페이스를 구현한다. be..

로그 추적기

애플리케이션이 커질수록 모니터링과 운영이 중요해진다. 어떤 부분에서 병목현상이 발생하는지 어떤 부분에서 예외가 발생하는지를 로그로 확인하는 것은 매우 중요하다. 아래와 같은 요구사항을 가정한다. 모든 Public 메서드의 호출과 응답 정보를 로그로 출력 애플리케이션의 흐름을 변경하면 안됨 비즈니스 로직에 영향 X 메서드 호출에 걸린 시간 정상 흐름과 예외 흐름 구분 예외 발생시 예외 정보 메서드 호출의 깊이 표현 HTTP 요청을 구분 HTTP 요청 단위로 특정 ID를 남겨 어떤 HTTP 요청에서 시작된 것인지를 구분 가능 트랜잭션 ID ==> HTTP 트랜잭션을 의미 로그 추적기 Version 0 트랜잭션의 깊이를 로그로 남기기 위해서는 이전의 정보를 이어받아 로그로 출력해야한다. 먼저, 트랜잭션 ID와..

로깅 간단히 알아보기

보통 println() 같은 시스템 콘솔을 사용하여 디버깅을 진행하였는데, 실무(실제 운영시스템)에서는 별도의 로깅 라이브러리를 사용하여 로그를 출력한다. 로깅 라이브러리 스프링 부트 라이브러리를 사용하면 스프링 부트 로깅 라이브러리(spring-boot-starter-logging)가 함께 포함된다. 스프링 부트 로깅 라이브러리는 기본으로 다음 로깅 라이브러리를 사용 SLF4J Logback 로그 라이브러리는 Logback, Log4J, Log4J2 등등 수많은 라이브러리가 있는데, 그것을 통합해서 인터페이스로 제공하는 것이 바로 SLF4J 라이브러리이다. 로그 선언 private Logger log = LoggerFactory.getLogger(getClass()); private static fin..

Spring/Spring MVC 2021.05.03
반응형