ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [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 서비스가 시작되고 서블릿 엔진이 초기화 되었음을 보여준다.

       

      구동 후 localhost:포트번호를 사용했을때

       

       

      💻 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 어노테이션을 사용하여 메서드나 클래스에 트랜잭션 속성을 설정할 수 있다.
    Designed by Tistory.