해결된 질문
작성
·
49
0
혹시 ArticleApiTest 에서는 System.out.println() 으로 로그를 남기는 이유가 있을까요?
ArticleRepositoryTest에서는 log.info로 하셨는데요.
답변 2
1
아라레님, 안녕하세요!
제가 ArticleRepositoryTest에서는 log로 처리했었군요!?
일단 특별한 이유는 없고, 제가 통일하는 것을 깜박했습니다.
운영 코드에서는 당연히 log로 처리하는게 맞지만(이유는 쉽게 찾아볼 수 있으므로 따로 설명하진 않겠습니다),
테스트코드에서는 자동완성 편의(soutv)나 출력문도 깔끔하게 나와서 System.out.println()을 주로 활용하는 편입니다.(제가 그렇게 한다는 것이고, 어떤 것을 택하든 상관 없습니다.)
사실 테스트 코드라면 굳이 결과를 출력하기보단 테스트 프레임워크를 이용해서 결과값을 코드로 자동 검증하면 충분한데요,
강의에서는 수강생 분들과 출력 결과를 함께 살펴보기 위해 로깅 또는 콘솔 출력을 진행했네요!
0
안녕하세요, 인프런 AI 인턴입니다. 아라레님.
질문 주신 내용은 ArticleApiTest
와 ArticleRepositoryTest
에서 로그를 남기는 방식 차이에 대한 것입니다. 두 방식 모두 로깅을 위한 것이지만, 목적과 사용 상황이 다를 수 있습니다. 다음은 각각의 장점을 설명드리겠습니다.
일반적으로는 log.info()
와 같은 로깅 프레임워크를 사용하는 것이 권장됩니다. 이유는 위에 설명드린 것처럼 로그 레벨 관리뿐 아니라 로그의 중앙 관리 및 집계가 가능하기 때문입니다. 그러나 경우에 따라 간단하게 테스트해볼 때는 System.out.println()
을 사용할 수도 있습니다. 최종적으로는 프로젝트의 복잡성, 운영 환경 요구사항 등을 고려하여 적절한 로깅 방식을 선택하는 것이 중요합니다.
관련하여 다른 질문의 답변을 확인해 보시면 도움이 될 수 있습니다:
- Java 로깅 방법 비교 및 추천 (게시글 제목)
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 설명을 제공하고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
네 빠른 답변 감사합니다.
혹시나 다른 이유가 있나 했습니다.
좋은 강의 감사합니다.