-
[springBoot] spring boot 실행 시 로그Spring/Spring Boot 2024. 8. 2. 17:43
▤ 목차
메인 메서드를 실행하면 spring이 내장하고 있는 톰켓을 실행하면서 로그가 찍힌다.
✔ 로그 읽기
실무에서 개발하고 관리할때 발생할 수 있는 다양한 이슈룰 파악하고 해결하기 위해 로그를 읽는 것이 익숙해야한다.
스프링 프레임워크를 통해 웹 애플리케이션을 개발할 때
발생하는 초기화, 설정, 서버 시작 등 중요한 정보를 포함하고 있다.
⌨ 파일 형식
프레임워크를 사용해 돌린 프로젝트는 pack 패키지이며 프로젝트이름은 test1이다.
💻 Starting Test1Application using Java 17.0.10 with PID 37972 (C:\ ...
애플리케이션 시장 정보. 로그의 시작을 나타내는 로그이다.
애플리케이션의 시작 시간, 로그 레벨(INFO), 스레드 정보, 메인 클래스(Test1Application) 등이 적혀져있다.
💻 No active profile set, falling back to 1 default profile: "default"
프로파일 설정이 없어서 기본 프로파일("default")을 사용한다는 메시지이다.
스프링은 프로파일에 따라 설정을 다르게 할 수 있다.
💻 Tomcat initialized with port 8080 (http)
Tomcat 서버가 8080 포트를 초기화 되었다는 뜻으로 해당포트번호를 사용한다.
Starting service [Tomcat]
Starting Servlet engine: [Apache Tomcat/10.1.25]
tomcat 서비스가 시작되고 서블릿 엔진이 초기화 되었음을 보여준다.
💻 Root WebApplicationContext: initialization completed in 602 ms
루트 웹 애플리케이션 컨텍스트가 초기화되는데 걸리는 시간을 알려준다.
위의 명령어를 확인해보면 root 컨텍스트가 초기화되는데 602ms 가 걸린것을 알 수 잇따.
💻 Tomcat started on port 8080 (http) with context path '/'어플리케이션 실행 정보를 알 수 있다.
tomcat 서버가 8080 포트에서 실행되고 루트 경로('/')로 설정되었다는 의미이다..
✔ 로그를 알아야 하는 이유
📌 문제 해결
로그를 이해하고 있으면 애플리케이션의 초기화 과정에서 발생하는 문제를 보다 빠르게 해결할 수 있다.
서버 포트 충돌, 프로파일 설정 오류, 초기화 시간이 길어지는 원인 등을 빠르게 식별할 수 있다.
📌 성능 최적화
초기화 시간을 줄이기 위한 최적화 바법을 고려할 수 있다.
예를 들어, 스프링 컨텍스트 초기화 시간을 단축시키는 방법이 있다.
📌 스프링 설정
스프링 설정 클래스( @configuration )나 빈 등록(@bean)에 대해 이해를 돕는다.
이 로그는 스프링 빈의 초기화 순서나 프로파일 관리에 대한 힌트를 제공할 수 있다.
스프링 컨텍스트(Spring Context)?
스프링 프레임워크에서 가장 핵심적인 개념 중 하나이다.
스프링이 제공하는 IoC(Inversion of Control) 컨테이너로, 애플리케이션에서 객체들의 생명주기를 관리하고 의존성을 주입하는 역할을 한다.
주요 역할
1) 빈 관리
: 스프링 컨텍스트는 개발자가 작성한 클래스들을 빈(Bean)으로 등록하고 관리한다.
빈은 일반적으로 애플리케이션에서 재사용 가능한 객체를 말한다.
2) 의존성 주입
: 스프링 컨텍스트는 객체 간의 의존성을 자동으로 주입해준다.
@Autowired 어노테이션을 등을 사용하여 필요한 객체를 필드, 생성자, 메서드를 통해 주입할 수 있다.
3) 라이프사이클 관리
: 스프링 컨텍스트는빈의 생명주기를 관리한다.
빈이 생성되고 초기화되며, 애플리케이션 실행 중에 피료에 따라 소멸된다.
4) AOP
: 스프링 컨텍스트는 관정 지향 프로그래밍을 지원한다. 횡단 관신사(concern)을 분리하여 코드의 재사용성과 유지보수성을 높일 수 있다.
5) 트랜잭션 관리
: 스프링 컨텍스트는 트랜잭션 관리를 지원한다.
@Transactional 어노테이션을 사용하여 메서드나 클래스에 트랜잭션 속성을 설정할 수 있다.'Spring > Spring Boot' 카테고리의 다른 글
[spring Boot] Controller 어노테이션 정리 (0) 2024.08.08 [spring Boot] Thymeleaf 페이지 레이아웃 (0) 2024.08.06 [Spring Boot] view 페이지, 템플릿 엔진에 대해서(jsp VS thymeleaf) (0) 2024.08.05 [springBoot] 기본 환경 설정 (0) 2024.08.01