로그 : system.out.println("hello world");
1. 중요도 분리가 안된다.
2. 프로그램의 성능을 떨어트리고 또한 로그를 파일에 저장하는 것이 불가능하다.
logback을 사용해서 로그관리
⭐logback이란
- Slf4j의 구현체로 Spring Boot에서는 spring-boot-starter-logging안에 기본적으로 포함되어 있어서 따로 dependency를 추가하지 않고 사용 가능
⭐slf4j(Simple Logging Facade for Java)
Slf4j는 뜻 그대로 로깅을 간단하게 사용할 수 있도록 하는 Facade로
로깅 라이브러리들을 하나의 통일된 방식으로 사용할 수 있는 방법이다.
기본구현체 == logback
- logback(@slf4j) 라이브러리 사용(SLF4J인터페이스의 기본 구현체)
- 로그관리(로그레벨-debug, info, error)
3. 로그파일관리(날짜별, 용도별) - logback설정파일
⭐로그레벨(중요도에 따라 관리)
- debug모드 < info모드 < error모드
모드의 중요도의 따라 찍히는 로그가 다르다. - log.debug("디버그 로그입니다.")
- debug모드일때 debug, info, error로그가 찍힌다.
- info 모드일때 info, error로그가 찍힌다.
- error모드 일때 error로그가 찍힌다.
로그레벨 활용 사용 예시)
실제라이브 서비스(운영)에서는 info로 설정
개발환경에서는 debug 모드로 설정
테스팅할때 log.debug("디버그 로그입니다.")해서 로그가 개발환경에서만 찍히게 하기. (라이브 서비스에 영향 주지않기)
logback-spring.xml
- logging에 대한 디테일한 설정가능
- logback-spring.xml 설정 파일이 yml logging설정 파일보다 우선설정된다.
로그관리 테스트
Log Test Controller
yml파일설정
info 모드일 때 Info로그와 Error로그가 찍힌다.
error모드일 때 Error로그만 찍힌다.
logback-spring.xml - logging 디테일 설정
app.log = INFO모드 설정
app-error.long = ERROR모드 설정
app.log확인 시 INFO로그, ERROR로그가 찍힌다.
app-error.log 확인 시 ERROR로그만 찍힌다.
'JAVA STUDY > Spring' 카테고리의 다른 글
[Spring] @EnableGlobalMethodSecurity 간단 사용으로 페이지 권한 관리(With. Item Create) (2) | 2024.02.03 |
---|---|
[Spring] InitialDataLoader로 Spring Boot App실행 시 DB에 데이터 세팅하기 (0) | 2024.02.01 |
[Spring] Repository IllegalArgumentException에러 조치 (0) | 2024.01.27 |
[Spring initializr] intellij Spring initializr Open & build.gradle setting (0) | 2024.01.12 |
[Spring 전 몸풀기] 사이트에서 값 입력 받아서 HTTP POST Data 출력하기(Only JAVA) (0) | 2024.01.12 |