Spring Boot Log Format

이동영·2024년 3월 12일
0

스프링

목록 보기
10/17

Spring Boot의 기본 로그 출력은 다음 예제와 유사하다.

2024-02-22T18:32:30.542Z  INFO 33203 --- [myapp] [           main] o.s.b.d.f.logexample.MyApplication       : Starting MyApplication using Java 17.0.10 with PID 33203 (/opt/apps/myapp.jar started by myuser in /opt/apps/)
2024-02-22T18:32:30.547Z  INFO 33203 --- [myapp] [           main] o.s.b.d.f.logexample.MyApplication       : No active profile set, falling back to 1 default profile: "default"
2024-02-22T18:32:31.720Z  INFO 33203 --- [myapp] [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port 8080 (http)
2024-02-22T18:32:31.735Z  INFO 33203 --- [myapp] [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2024-02-22T18:32:31.735Z  INFO 33203 --- [myapp] [           main] o.apache.catalina.core.StandardEngine    : Starting Servlet engine: [Apache Tomcat/10.1.19]
2024-02-22T18:32:31.804Z  INFO 33203 --- [myapp] [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2024-02-22T18:32:31.805Z  INFO 33203 --- [myapp] [           main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1176 ms
2024-02-22T18:32:32.386Z  INFO 33203 --- [myapp] [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port 8080 (http) with context path ''
2024-02-22T18:32:32.401Z  INFO 33203 --- [myapp] [           main] o.s.b.d.f.logexample.MyApplication       : Started MyApplication in 2.419 seconds (process running for 2.744)

어떤 항목이 출력되는가??

  • 날자 및 시간 : 밀리초 단위로 쉽게 표시됨
  • 로그 레벨 : ERROR, WARN, INFO, DEBUG, TRACE.
  • Process ID
  • ---는 실제 로그 메시지의 시작을 구분하는 기호이다.
  • 애플리케이션 이름 : 대괄호 묶음(기본적으로 spring.application.name이 설정된 경우에만 기록한다.)
  • 쓰레드 이름 : 대괄호 묶음이다.
  • 연관 식별자 : tracing이 활성화 된 경우
  • 로거 이름 : 일반적인 소스 클래스 이름
  • 로그 메시지

참고

  • Logback은 기본적으로 FATAL레벨을 지원하지 않지만 대신 ERROR레벨로 기록된다.
  • spring.application.name 속성이 있지만 기록을 원지 않는 경우 login.include-application-name을 false설정할 수 있다.

spring.application.name이란

  • Spring Boot 애플리케이션을 식별하는데 사용되는 고유 이름이로 다양한 용도로 사용되고 있다.
  • 로그 메시지 : 기본적으로 sptirng

예시

  • my-app : 가장 기본적인 예시
  • com.mycompany.myapp : 이는 java패키지 이름을 사용하는 예시이다.

설정방법

application.properties 파일

spring.application.name=my-app

@SpringBootApplication 어노테이션

@SpringBootApplication(name = "my-app")
public class MyApplication {

}

환경 변수

SPRING_APPLICATION_NAME=my-app
profile
가치를 제공하는 개발자

0개의 댓글