[ITWILL : JAVA]로깅, 디버깅

ITWILL학원 : 20강 JAVA BY 윤미영강사

1. 로깅(Logging)

  • 로깅 : 사용자의 요청사항을 출력하는 것 이외에 애플리케이션에서 발생하는 사건들을 기록하는 것.

참고링크 : java.util.Logging.Logger의 메서드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public class SimpleLoggingFile {

private final static Logger logger = Logger.getLogger(SimpleLoggingFile.class.getName());

public static void main(String[] args) throws SecurityException, IOException {
FileHandler fHandler = new FileHandler("mylog_%g.log");
logger.addHandler(fHandler);
logger.log(Level.INFO, "INTO LOG");
logger.info("메서드 타입 인포 로그");
logger.warning("메서드 타입 경고 로그");
logger.severe("메서드 타입 시비어 로그");
}

}

//출력값
723, 2020 11:11:40 오전 ch9.SimpleLoggingFile main
정보: INTO LOG
723, 2020 11:11:40 오전 ch9.SimpleLoggingFile main
정보: 메서드 타입 인포 로그
723, 2020 11:11:40 오전 ch9.SimpleLoggingFile main
경고: 메서드 타입 경고 로그
723, 2020 11:11:40 오전 ch9.SimpleLoggingFile main
심각: 메서드 타입 시비어 로그
  • 더불어 mylog_0.log파일이 생성되었다.

  • 출력된 로그는 콘솔과 함께 파일에도 기록된다.

  • 실무에서는 logging패키지의 클래스보다 주로 logback과 같은 별도의 로깅 프레임워크들을 사용함.

2. 디버깅

  • 리커시브방법 : 함수가 자기 자신을 계속 호출하는 구조 = 재귀함수

  • break point : 프로그램 동작 중 디버깅을 위해서 동작을 멈추는 지점

    • 중단점을 지정해 놓으면 그 전까지 프로그램이 동작하다가 브레이크포인트에서 사용자의 다음동작을 기다린다.
    • step into를 하면 변수뷰창에서 valables가 어떻게 변화하는지 알수있다.