보통 개발 시 Slf4j를 통해 로깅하는데, 전에 표준출력으로도 할 수 있지 않나 생각했던 적이 있다.
근데 역시 안쓰는데는 다 이유가 있었다..!
SonarLint Rule에 따르면
- 유저는 쉽게 로그들을 추적할 수 있어야 한다.
- 로그 메세지의 포맷은 꼭 통합되어야 한다! 그래야 유저가 로그를 쉽게 읽을 수 있기 때문
- 로그된 데이터는 실제로 기록되어야 한다.
- 민감한 데이터는 안전하게 로그되어야 한다.
++) 표준출력으로는 로그 출력 레벨을 설정할 수 없다. (TRACE, DEBUG, INFO, WARN, ERROR, FATAL)
로깅할땐 절대 쓰지말자 표준출력..!
출처