로깅 시 System.out.println() 쓰면 안되는 이유

정지수 JisooJung·2021년 9월 23일
0

보통 개발 시 Slf4j를 통해 로깅하는데, 전에 표준출력으로도 할 수 있지 않나 생각했던 적이 있다.
근데 역시 안쓰는데는 다 이유가 있었다..!

SonarLint Rule에 따르면

  1. 유저는 쉽게 로그들을 추적할 수 있어야 한다.
  2. 로그 메세지의 포맷은 꼭 통합되어야 한다! 그래야 유저가 로그를 쉽게 읽을 수 있기 때문
  3. 로그된 데이터는 실제로 기록되어야 한다.
  4. 민감한 데이터는 안전하게 로그되어야 한다.

++) 표준출력으로는 로그 출력 레벨을 설정할 수 없다. (TRACE, DEBUG, INFO, WARN, ERROR, FATAL)

로깅할땐 절대 쓰지말자 표준출력..!


출처

  • SonarLint Rule Description - Standard outputs should not be used directly to log anything (java:S106)
profile
Study&Work&Log

0개의 댓글