Chanho_Park

[Log] Logging 본문

Study

[Log] Logging

Chanho_Park 2023. 1. 30. 14:00
728x90

logging이란?

  • 정보를 제공하는 일련의 기록인 로그(log)를 생성하도록 시스템을 작성하는 활동
  • 프린트 줄 넣기(printlining)는 간단한, 보통은 일시적인, 로그를 생성하기만 합니다.
  • 시스템 설계자들은 시스템의 복잡성 때문에 로그를 이해하고 사용해야 합니다.
  • 로그가 제공하는 정보의 양은, 이상적으로는 프로그램이 실행되는 중에도, 설정 가능해야 합니다.
  • 일반적으로 로그 기록의 이점
    - 로그는 재현하기 힘든 버그에 대한 유용한 정보를 제공할 수 있습니다.
    - 로그는 성능에 관한 통계와 정보를 제공할 수 있습니다.
    - 설정이 가능할 때, 로그는 예기치 못한 특정 문제들을 디버그하기 위해, 그 문제들을 처리하도록 코드를 수정하여 다시 적용하지 않아도, 일반적인 정보를 갈무리할 수 있게 합니다.

logging framework의 필요성

평소 디버깅을 할 때마다 System.out.println을 사용해 디버깅을 위한 메세지를 출력하는데 이는 프로그램의 성능을 떨어트립니다. 따라서 개발중 추가한 디버깅 메세지를 실 서비스하는 시점에 제거해야 합니다. 자바 웹 프로그래밍 저자이신 '박재성'님은 절때로 System.out.println을 사용하지말고 Logback을 이용하라고 할 정도로 중요합니다.

로그 라이브러리 종류

-java.util.logging
-JDK 1.4부터 포함된 표준 로깅 API
-별도 라이브러리 추가 불필요
-기능이 많이 부족해 다른 로그 라이브러리를 더 많이 사용
-Apache Commons logging
-아파치 재단에 Commons 라이브러리 중에 로그 출력을 제공하는 라이 브러리
-Log4j
아파치 제단에서 제공하며 가장 많이 사용되는 로깅 라이브러리
-Logback
Log4j를 개발한 Ceki Gulcu가 Log4j의 단점 개선 및 기능을 추가하 여 개발한 로깅 라이브러리

 

 

 

출처 : https://velog.io/@kennyseo/logging-framework%EA%B0%9C%EB%85%90slf4j%EA%B3%BC-logback

728x90

'Study' 카테고리의 다른 글

[JAVA] EgovMap 이란?  (0) 2023.01.30
카멜케이스란? Camelcase 규칙  (0) 2023.01.30
[ 샤크라 ] DB접근제어 솔루션  (2) 2023.01.30
[JAVA]자바 문자비교  (0) 2023.01.27
어노테이션  (0) 2023.01.27