아래는 Spring Boot에서 제공하는 기본 로그 예시다.
2023-10-19T12:17:32.235Z INFO 34306 --- [ main] o.s.b.d.f.logexample.MyApplication : Starting MyApplication using Java 17.0.9 with PID 34306 (/opt/apps/myapp.jar started by myuser in /opt/apps/)
2023-10-19T12:17:32.241Z INFO 34306 --- [ main] o.s.b.d.f.logexample.MyApplication : No active profile set, falling back to 1 default profile: "default"
2023-10-19T12:17:34.422Z INFO 34306 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http)
2023-10-19T12:17:34.441Z INFO 34306 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
2023-10-19T12:17:34.442Z INFO 34306 --- [ main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.15]
2023-10-19T12:17:34.599Z INFO 34306 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
2023-10-19T12:17:34.601Z INFO 34306 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2199 ms
2023-10-19T12:17:35.149Z INFO 34306 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path ''
2023-10-19T12:17:35.165Z INFO 34306 --- [ main] o.s.b.d.f.logexample.MyApplication : Started MyApplication in 3.789 seconds (process running for 4.297)
각 줄의 로그는 아래 요소들의 순서대로 구성되어 있다.
ERROR
, WARN
, DEBUG
, INFO
, TRACE
중 하나다.기본적으로 로그는 콘솔에만 출력된다.
하지만 파일로도 저장하고자 한다면 logging.file
프로퍼티들을 사용할 수 있다.
logging.file.name
프로퍼티로는 파일의 이름, logging.file.name
프로퍼티로는 저장 경로를 설정할 수 있다.
한 파일 당 용량은 10MB로 제한되며 ERROR
, WARN
, INFO
레벨의 로그는 기본적으로 저장된다.
아래 예시와 같이 logging.level
프로퍼티에 로그 지점 이름과 로그 레벨을 설정할 수 있다.
# org.springframework.jdbc.core 패키지에서 기록되는 로그의 레벨을 TRACE로 설정한다.
logging:
level:
org.springframework.jdbc.core: TRACE
인텔리제이 Ultimate에서는 별도의 설정 없이도 로그 레벨 및 소스 등에 색이 입혀져서 가독성이 좋은 반면, Community Edition에서는 모든 텍스트가 같은 색깔로 출력돼서 당황했다.
spring.output.ansi.enabled
프로퍼티를 always
로 설정하면 Community Edition의 콘솔에서도 색이 입혀진 로그를 확인할 수 있다.
spring:
output:
ansi:
enabled: always