Back-end

[Flask] 에러페이지 처리, 에러 로그파일로 저장

파리외 개발자 2022. 7. 1. 19:59

에러 페이지 처리

위와 같이 라우팅 경로 /home로 들어가면 해당 페이지가 나타난다.

만약 경로에 없는 URL이 입력된다면 not found 코드인 404에 해당하는

errorhandler를 실행시키도록 하여

에러페이지를 원하는 페이지로 만들어 준다.

 

로그 파일 생성

flask는 logging패키지를 지원한다.

로그파일 설정으로 저장할 파일 이름과 

어떤 레벨의 오류부터 저장할지 설정한다.

실행하면 설정한 대로 error레벨의 로그들만 저장되어 파일에 저장된다.

보통 error단계부터 실행에 영향을 끼치는 레벨의 오류이다.

 

Not Found 에러를 로그에 저장하기

app.debug가 True라는 것은 개발단계에서 디버그내용을 확인하겠다는 것이다.

False라는 것은 실제 배포를 하겠다는 내용이다.

즉, 조건문은 실제 배포상황에서 오류들을 로그파일에 저장하겠다는 말이다.

logging패키지의 핸들러 종류중 로테이트핸들러(가장 자주 사용됨)를 선택했다.

핸들러 설정을 해준 뒤 warning단계 이상의 로그를 저장하도록 설정한다.

마지막으로 addHandler로 설정한 file_handler를 추가한다.

로그 설정이 끝나고 404페이지를 들어갔을 때 해당 오류를

어떤 내용의 로그로 넘길지와 페이지에 나타낼 문구를 설정한다.

아무런 라우팅 경로도 만들어주지 않았으므로 바로 404오류가 나오며

리턴했던 문구가 출력된다.

또한 설정한 파일 이름으로 로그파일이 생성되며 

오류의 위치와 날짜, 포트번호가 파일에 기록된다.

여기서 로그파일이 생성되는 위치는 flask_log파일의 위치가 아닌

VSC코드로 열어준 워크스페이스에 생성된다.