스프링부트 오류출력 페이지

스프링부트에서 기본설정된 오류페이지는 'Whitelable' 페이지다.


스프링부트에는 'whitelabel' 페이지에 대한 언급이 그렇게 상세히 되어있지는 않다( Customize the ‘whitelabel’ error page).

ErrorMvcAutoConfiguration 을 보면 SpelView 를 이용해서 생성하는 Whitelabel Error Page 를 볼 수 있을 것이다.

이 페이지를 이뻐보이는 페이지로 대체하는 것은 나중에 다루기로 하고…​

스프링부트 ErrorMvcAutoConfiguration 에서 다룰 수 있는 속성들을 살펴보도록 하자. ErrorMvcAutoConfiguration 를 살펴보면 그 중에 DefaultErrorAttributes 를 살펴볼 수 있다. 문서에서 보면 알 수 있듯이 오류와 관련된 속성 중에 다룰 수 있는 것들에는:

  • timestamp - 오류가 발생한 시간을 추출

  • status - 상태코드

  • error - 에러 발생원인

  • exception - 상위 예외 클래스명

  • message - 예외 메시지

  • errors - BindingResult 예외가 던져주는 ObjectErrors

  • trace - Exception stack trace

  • path - 예외가 발생한 URL 경로(되돌아가거나? 어디서 발생했는지 파악하는 용도)

를 활용하면 스프링부트에서 발생한 예외에 대한 분석이 용이해진다.

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head lang="en">
    <meta charset="utf-8"/>
    <!-- 중략 -->
</head>
<body class=" page-404-3">
<div class="page-inner">
    <img src="/assets/layout/img/earth.jpg" class="img-responsive" alt=""></div>
<div class="container error-404">
    <h1 th:text="${status}">Status</h1>
    <h2>Houston, we have a problem([[${error}]])</h2>
    <p th:text="${message}"> Error Message</p>
    <p>
        <a href="index.html" th:href="@{/}" class="btn red btn-outline"> Return home </a>
        <br>
    </p>
    <div th:text="${timeStamp}"></div>
    <div th:text="${exception}"></div>
    <div th:utext="${trace}">Trace!</div>
</div>
</body>
</html>

이와 같은 형태로 오류를 탐색하고 분석하는데 용이하도록 구성할 수 있을 것이고 방법은 다양하니 자신에게 맞는 방법을 찾기 바란다.


요즘 쓰고 있는 지라JIRA나 컨플루언스CONFLUENCE나...

무겁고 쓰기가 거추장스럽다.
이슈에 대한 설명에서 마크다운 지원 안되는것이 젤 짜증남......

마크다운으로 작성하는 게 자연스러워진 상황에서 아틀라시안의 프로젝트 관리툴은...

무겁고 거추장스런 느낌이 강하다.

깃헙의 이슈와 위키, 요나의 이슈와 게시판 기능정도로도 충분하지 싶다.

뭐... ㅡㅅ- 아주~ 큰 프로젝트에서는 어떨지는 잘 모르겠지만... 10명 내외의 팀으로 운영되는 프로젝트들에서는 굳이 아틀라시안 프로젝트 관리툴...은
과하다 싶다는 생각이 깊어짐.

'logbook' 카테고리의 다른 글

[book]바딘Vaadin & 회계천재...  (0) 2017.06.12
5번째 봄이 끝났다.  (0) 2017.04.23
커뮤니케이션 비용을 줄이려면...  (0) 2016.08.10
오류를 느끼는 감각  (0) 2016.08.08
곧 나올 나의 두번째 번역서  (0) 2016.08.06

커뮤니케이션은 어렵다.


주고받는 횟수가 많아질수록 그 비용은 꽤 많이 늘어난다.


상세하게 알기 위해서 주고받는 횟수가 늘어날 수도 있지만,

처음에 전달할 때 제공해야하는 정보가 빈약하여 상대방이 말하고자 하는 의도를 파악하기 위해 질문을 해야한다면 비용이 기하급수적으로 늘어난다.


글로 쓸 때는 그 문장과 단락 안에서 추가적인 설명없이 이해할 수 있도록 글을 쓰려는 노력이 필요하다.


좀 전에 어느 글을 보고 든 생각.


... 그렇게 쓸 수 있다면 참 좋겠지만 그게 쉽지가 않다.


'logbook' 카테고리의 다른 글

5번째 봄이 끝났다.  (0) 2017.04.23
가볍게 가자  (0) 2016.08.18
오류를 느끼는 감각  (0) 2016.08.08
곧 나올 나의 두번째 번역서  (0) 2016.08.06
20160717: DDD Start, KSUG & 지앤선 북콘서트  (0) 2016.07.17

타이핑을 하다가 잘못쳤다는 느낌이 들 때가 있다.

오류를 느끼는 감각은 정말 중요하다. 타이핑 뿐만 아니라 모든 일에 해당된다. 오류 감각을 가진다는 사실은 피드백 루프를 재빨리 끝내 오류에서 배움을 얻는 일이 더 빨라진다는 뜻이다.

- 클린코더, 4장 106p

'logbook' 카테고리의 다른 글

가볍게 가자  (0) 2016.08.18
커뮤니케이션 비용을 줄이려면...  (0) 2016.08.10
곧 나올 나의 두번째 번역서  (0) 2016.08.06
20160717: DDD Start, KSUG & 지앤선 북콘서트  (0) 2016.07.17
20160714; RecruitingDay: Developer  (0) 2016.07.15

기본은 스프링 부트 레퍼런스 문서(http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/)를 

기준으로 해서 이런저런 이야기를 풀어가는 식으로 쓰려고 하는데...

올해 중에 마칠 수 있을까??


이걸 쓰려면 놀 시간을 줄여야 하는데...

놀시간 줄이는 건 뭔가 아깝단 말이지. @_@);;


어느버전을 기준으로 할지부터 잡아야겠는데...

Spring Boot 1.4.0.RELEASE  를 기준으로 해야겠다.

+ Recent posts