System.out.println 메소드는 현업에서 절대 쓰지 말아야 하는 이유

2023. 11. 28. 21:14·Java

자바를 처음 배울 시 가장 많이 사용했던 메소드 System.out.println()은 현업에서 사용하지 않는다. 그 이유를 정리해보자.

 

 

1.  로그 저장 불가

System.out.println() 은 로그가 표준 출력으로 출력된다. 즉, 파일로 저장되지 않고 휘발된다는 의미이다.

현업에서는 로그를 서버에 모으거나 파일로 저장하는 방법으로 문제가 발생했을 시 열어봐서 확인하는 용도로 사용한다. 

표준 출력으로 한번 출력되고 어디에도 저장되지 않으면 로그의 제 역할을 할 수 없다.

로그된 데이터는 실제로 기록되어야 한다. 하지만 System.out.println() 만으로는 불가능하다. 

@slf4 log메소드를 사용하자.

 

 

2.  동기화 문제

System.out.println() 메소드 내부를 살펴보면  

new Line() 에 동기화(synchronized)가 걸려있다.

 

멀티 스레드 환경에서 첫번째 스레드가 newLine() 메소드를 실행하면 다른 스레드가 접근을 할 수 없다. 다른 스레드는 첫번째 스레드가 모두 사용하고 잠금을 풀어준 뒤에서야 newLine() 메소드를 실행할 수 있다. 

 

System.out.println() 메서드를 여러 스레드가 사용하게 된다면 오버헤드가 발생하여 프로세스 처리가 늦어지게 될 수 있다. = 성능저하

(* 오버헤드(Overhead) : 어떤 처리를 하기 위해 추가로 들어가는 처리 시간, 메모리 등의 컴퓨터 자원)

 

3. 출력 레벨

로그 출력 레벨을 사용할 수 없다.

trace > debug >info >warn > error

System.out.println()는 info랑 error만 사용할 수 있다.

 

 

4. 요약

  • 운영 시스템에서는 System.out.println()을 절대 사용해서는 안된다.
  • 흔히, 현업에서 로그를 남길때 로깅프레임워크로 logback이나 log4j를 많이 사용한다.
  • 로그를 남기고 싶다면 로깅프레임워크를 사용하여 적절한 로그 레벨을 지정하여 출력하자

 

 

'Java' 카테고리의 다른 글

equals와 hashCode  (2) 2023.11.06
String Builder 와 String Buffer  (1) 2023.10.31
HashSet 내부 구현  (8) 2023.10.26
'Java' 카테고리의 다른 글
  • equals와 hashCode
  • String Builder 와 String Buffer
  • HashSet 내부 구현
유당불내증이 있는 개발자
유당불내증이 있는 개발자
  • 유당불내증이 있는 개발자
    보초개발
    유당불내증이 있는 개발자
  • 전체
    오늘
    어제
    • 분류 전체보기
      • DB
      • Java
      • 이슈
      • 책
        • 객체지향의 사실과 오해
        • 자바의 신
        • 스프링 입문을 위한 자바 객체 지향의 원리와 이해
        • 토비의 스프링
        • 모던 자바 인 액션
        • 이펙티브 자바
        • Real MySQL 8.0
        • 자바 성능 튜닝이야기
        • 만들면서 배우는 클린 아키텍처
      • 인프런 강의
        • Practical Testing: 실용적인 테스트..
        • Jenkins를 이용한 CICD Pipeline ..
        • 비전공자도 이해할 수 있는 쿠버네티스 입문,실전
        • 대기업 근무하며 경험한 Redis를 야무지게 사용..
      • TIL
  • 인기 글

  • 태그

    explain
    MySQL
    db
    EC2
    AWS
    redis
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
유당불내증이 있는 개발자
System.out.println 메소드는 현업에서 절대 쓰지 말아야 하는 이유
상단으로

티스토리툴바