작성
·
814
0
안녕하세요 토비님~
이번에도 강의 내용과 상관 없는 질문 드립니다
시스템을 운영하면서
예상치 못한 에러상황이나
자바소스 예외 상황이 발생 했을 때
예외가 발생한 자바소스는 어떤 자바파일 이며
그 특정 자바 파일 몇번째 라인에서 왜? 오류나 예외가 발생했는지
로그를 담아 db에 넣고 싶습니다.
그러면 개발자 입장에서 원인 찾아 소스 수정하는게 빠를 테니까요..
(서버에 남는 로그파일에서 찾아서 로그를 다시 다운받아서 찾아 보는 것 보다
db 테이블에서 clob 으로 레고드를 남기고 찾아서, 따라 가는게 이득이라고 생각했습니다 )
구글링해보니 우선 아파치 ExceptionUtils 부분이 있어
아래 이미지와 같이 적용을 했는데
토비님이 실무에서 사용하고 계시는
다른 쉽고 좋은 베스트 방법이 있진 않을까 문의 드립니다
급한 질문 아닙니 시간 나 실 때
알려주시면 감사하겠습니다. 수고하세요.
--█●●--------------------------------------------
#Exception
#Error
#예외
#처리
#원인
#로그
#부트
#spring
#sping-boot
#springboot
#토비
--█●●--------------------------------------------
답변 1
2
에러에 대한 기록은 에러 로그를 로그 프레임워크를 이용해서 남기는게 좋습니다. 위치 정보와 함께 스택 트레이스도 남으니까요. 사용하시는 로그 프레임워크의 에러 로그 방법을 찾아보세요.
에러 로그를 남기면 다양한 방법으로 로그를 수집해서 볼 수 있습니다. 저는 최근에 대부분 클라우드를 사용하기 때문에 클라우드의 로그 수집 서비스를 이용합니다. 그 외에도 다양한 도구와 서비스들이 있습니다. 운영하는 환경에 맞게 적절한 방법을 찾아 검토해보세요.
DB에 저장하는 방법은 처음 봤는데요. 가능한 방법이지만, 두 가지가 걸리는군요. DB 관련 예외가 발생한 경우, 그리고 DB까지 연결하는 네트워크에서 문제가 생기는 경우엔 에러 로그를 남길 수가 없습니다.
이런 문제는 제가 뭘 사용하는가는 전혀 중요하지 않습니다. 그 부분은 질문하지 않으셨으면 좋겠습니다. 별 도움이 안 되는 얘기만 할게 뻔하거든요. 저는 그때그때 상황에 맞게 적절한 방법을 찾아서 선택하고, 자주 달라집니다. 매번 선택이 필요한 상황이 되면 구글 검색을 해보고 많이 사용하는 방법, 지원되는 도구를 찾아서 테스트 해보고 팀원들과 상의해서 결정합니다. 그게 베스트냐하면 절대 그렇지 않습니다. 100% 똑같은 상황이라면 나쁘지 않은 선택으로 추천할 수는 있겠으나, 다른 분들에게는 그럴리가 없거든요.
사용하는 로깅 프레임워크에서 에러를 남기는 방법과 옵션, 그때 남는 정보, 그리고 좀 더 자세한 정보를 남기려면 Exception 설계를 어떻게하는게 좋은지 등을 먼저 살펴보세요.
그리고 서버에 파일로 에러 로그가 잘 남으면, 그걸 어디로 보내서 저장하고, 조회할지 그 다음 방법을 찾아보세요.
단순 분석이나 지원 로그가 아닌 에러 로그 중에서 정말 버그일 수 있거나, 예외상황이라 개발자가 해결을 해야될만한 것들은 실시간으로 확인 가능한 도구로 보내는 것이 일반적입니다. 지금 개발팀은 슬랙을 쓰니 슬랙으로 보내고, 관련자들이 노티를 받도록 강제합니다. 바로 확인 안하면 큰일나는 에러는 문자로 보내기도 합니다. 중요한 건, 천천히 분석하면 되는 에러인지, 당장 조취를 안 하면 회사가 다음날 망할 수도 있는 에러인지에 따라 다르겠죠. 팀마다 회사마다 다 다를테니, 시나리오를 생각해보고, 그 다음 대응이 어떤 것인지 생각하셔서 전절하게 에러 정보를 받도록 해보세요.
토비님 자세한 답변 감사드립니다~
앞으로 말씀하신대로 질문 할 때는 주의 하도록 하겠습니다
고맙습니다 수고하세요^^