자바로 알고리즘을 많이 풀다보면, 결과가 잘 출력되는지를 확인하고 싶을 때가 있다.
그때 많이 사용하게 되는 것이 System.out.println() 이다.
하지만, System.out.println() 은 사용하는 것을 지양해야 한다고 한다.. 왜 그럴까..?
System.out.println() 문제점
우선, System.out.println()은 Stream을 통해 콘솔에 출력해주는 역할을 한다. 따라서, I/O 작업이 동반된다.
- 여기서 파악할 수 있는 점은 I/O 작업이 동반되기 때문에 실행하고 있는 해당 스레드에서 blocking I/O 처리로 인해 프로그램이 느려지는 결과가 초래된다는 것이다.
또한, 추가적으로 System.out.println()은 단순한 출력 기능을 제공할 뿐, 로깅과 관련된 고급 기능을 제공하지 않는다. 디버깅, 오류 추척, 모니터링 등의 기능이나 로그 레벨을 지정하여 중요도에 따라 로그를 출력하는 기능도 없다.
그렇다면.. 무엇을 사용해야 할까?
로깅 프레임워크
로깅 프레임워크는 여러 로그 레벨(debug level, info level, warn level)에 따라 구분하여 로깅할 수 있으며, 로그를 파일로 저장하거나 서버로 전송하는 등의 기능도 활용할 수 있다.
하지만, 로깅 프레임워크라고 해서 안심하고 사용해야할 것이 아니라 무엇이든 잘 알아보고 사용해야한다고 생각한다.
'개발 > Java' 카테고리의 다른 글
자바 기본 - 어노테이션과 리플렉션 (0) | 2024.11.07 |
---|---|
자바 기본 - 람다와 스트림 (0) | 2024.11.07 |
자바 기본 - 제네릭 (0) | 2024.11.06 |
자바 기본 - 예외 (2) | 2024.11.06 |
자바 기본 - 문자열 (0) | 2024.11.05 |