TIL(Today I Learned)

TIL 41th day

keepgoing 2021. 12. 1. 16:07

WAR VS JAR

  • WAR는 외부에 배포할 때 사용,
    • 내장 톰캣 x
  • Jar는 내장 서버를 사용
    • 내장 톰캣 o
    • WebApp 경로 x
  • Jar는 main/resource 경로에 index.html 즉, 웰컴페이지를 만들 수 있다.

log

  • 스프링에서 로그의 기능을 통합해서 인터페이스로 제공하는 SLF4J 라이브러리가 있다.
  • properties 설정을 통해 로그 기본 레벨 또는 하위 레벨을 설정할 수 있다.
  • 로그의 기본 레벨은 info이다
  • 로그의 레벨 순서는 TRACE > DEBUG > INFO > WARN > ERROR이다.
  • 개발 서버는 debug 출력
  • 운영 서버는 info 출력한다.

올바른 로그 사용법

  • 권장 : log.info("loginfo={}", name);
  • 비권장 : log.info("loginfo="+ name);와 같이 선언하는 방식은 리소스를 낭비시킨다.(+연산 때문)

로그 사용시 장점

  • 쓰레드 정보, 클래스 이름 같은 부가 정보를 함께 볼 수 있고, 출력 모양을 조정할 수 있다.
  • 개발 또는 운영에 적용할 로그 레벨을 조절할 수 있다.
  • 파일이나 네트워크 등, 로그를 별도의 위치에 남길 수 있다.
    • 파일로 남길 때는 일별, 특정 용량에 따라 로그를 분할하는것도 가능하다.
  • 성능이 sout보다 좋다.(내부 버퍼링, 멀티 쓰레드 등), 때문에 실무에서는 로그를 사용한다.