트러블슈팅
Confluence URL: https://docs.sonarqube.org/display/SONAR/Troubleshooting
로그 확인하기
SonarQube 서버를 설치하는 과정(혹은 다른 과정)에서 문제가 발생하는 경우, 가장 먼저 서버 로그를 확인합니다. SonarQube 서버 로그는 $SONARQUBE_HOME/logs
디렉토리에 저장됩니다:
- sonar.log - 메인 프로세스 로그. 서버 시작 및 종료와 관련된 일반적인 로그를 저장합니다. 서버의 전체적인 상태에 관한 정보를 제공하나 보다 세부적인 정보를 확인하기 위해서는 다른 로그 파일을 확인하십시오.
- web.log - 초기 데이터베이스 컨넥션, 데이터베이스 마이그레이션 및 재인덱싱, HTTP 요청 처리에 관한 로그를 저장합니다. 해당 HTTP 요청과 과련된 데이터베이스 및 서치 엔진 로그도 함께 저장합니다.
- ce.log - 백그라운드 태스크 처리 및 해당 태스크와 관련된 데이터베이스, 검색 엔진 로그를 저장합니다.
- es.log - 엘라스틱서치(ElasticSearch) 시작, 상태, 변경점, 클러스터/노드/인덱스 레벨 오퍼레이션 등에 관한 로그를 저장합니다.
로그 이해하기
오류가 발생한 경우, 로그 파일에서 스택 트레이스를 찾을 수 있습니다. 스택 트레이스는 완전하지 않은 구문의 더미입니다. 다음은 짧은 스택트레이스의 예입니다:
java.lang.IllegalStateException: Unable to blame file **/**/foo.java at org.sonarsource.scm.git.JGitBlameCommand.blame(JGitBlameCommand.java:128) at org.sonarsource.scm.git.JGitBlameCommand.access$000(JGitBlameCommand.java:44) at org.sonarsource.scm.git.JGitBlameCommand$1.call(JGitBlameCommand.java:112) at org.sonarsource.scm.git.JGitBlameCommand$1.call(JGitBlameCommand.java:109) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.NullPointerException at org.eclipse.jgit.treewalk.filter.PathFilter.create(PathFilter.java:77) at org.eclipse.jgit.blame.BlameGenerator.<init>(BlameGenerator.java:161) at org.eclipse.jgit.api.BlameCommand.call(BlameCommand.java:203) at org.sonarsource.scm.git.JGitBlameCommand.blame(JGitBlameCommand.java:126) ... 7 more
오류를 야기시킨 코드를 작성한 경우, 다음에 유의하시기 바랍니다:
- 첫 번째 행 - 콜론(':') 이후 사용자가 읽을 수 있는 메시지를 포함합니다. 위의 예에서는
it's Unable to blame file **/**/foo.java
입니다 Caused by:
.로 시작하는 부분 - 해당 구문으로 시작하는 부분이 여럿일 수 있습니다. 들여쓰기를 참조해 오류를 쉽게 확인할 수 있습니다. 각 행의 내용을 주의 깊게 확인하십시오. 일반적으로 가장 마지막 행 혹은 그 직전의 행에 실제적인 오류의 원인이 표시되는 경우가 대부분입니다.
© 2017-2018 Moses Kim.
별도의 언급이 없는 한, 이 스페이스의 컨텐츠는 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 4.0 국제 라이선스에 따라 이용할 수 있습니다.
SONARQUBE는 SonarSource SA의 트레이드 마크입니다. 모든 트레이트 마크 및 저작권은 각 소유자의 소유물입니다.
::: SonarQube 관련 문의 : 이메일 :::