Spring Boot3 & Spring Framework 6 강의 ::Section.7 로깅의 중요성.

suragryen·2024년 2월 26일
0

Udemy-Spring

목록 보기
11/25

  • spring-boot-starter-web을 추가하면 로깅은 자동으로 포함된다.
  • spring boot가 사용하는 기본 로깅 프레임워크는 SLF4j를 사용하는 Logback이다.

1. 로깅 수준 설정하기

application.properties

logging.level.org.springframework=debug
  • debug는 너무 많은 로그를 출력해서 성능에 문제를 줄 수도 있다
logging.level.org.springframework=info
  • 그럴땐 info로 출력해주면 됨
logginlevel.com.in28minnutes.springboot.myfirstwebapp=debug
  • 패키지 단위로도 볼 수 있다
	@RequestMapping("login")
	public String gotoLoginPage(@RequestParam String name, ModelMap model) {
		System.out.println("Request param is " + name); //NOT RECOMMENDED FOR PROD CODE
		model.put("name", name);
		return "login";
	}

로그를 프린트하기 위한 방법으로는 System.out.println도 있지만 권장하는 방법은 아니다!(디버깅 수준을 제어할 수 없음)

-> Logger 사용 할 것!!

@Controller
public class LoginController {
	private Logger logger = LoggerFactory.getLogger(getClass());
	//http://localhost:8080/login?name=soo
	//Model
	@RequestMapping("login")
	public String gotoLoginPage(@RequestParam String name, ModelMap model) {
		System.out.println("Request param is " + name); //NOT RECOMMENDED FOR PROD CODE
		model.put("name", name);
		logger.debug("Request param is{}",name);
		logger.info("I want this printed at info level",name);
		logger.warn("I want this printed at warn level");
		return "login";
	}

application.properties

logginlevel.com.in28minnutes.springboot.myfirstwebapp=info

application.properties에서 info 수준으로 디버그 레벨을 설정 해 주었더니 info와 warn 레벨이 나온다. !

profile
블로그 이사중 ☃︎

0개의 댓글

관련 채용 정보