본문 바로가기

트러블슈팅

(54)
SLF4J의 Log파일로 인한 서버의 Disk 공간 부족 문제 발생; Logback의 RollingFile 설정 문제 서버의 disk 공간 사용량이 90%를 넘겼다는 에러 메세지를 받았다. 문제 원인 서버에서 로그를 쌓는 폴더 중 용량이 큰 걸 찾아봤더니, access log 파일 폴더였다. 현재 2023년 4월이니, 2022년 8월부터 현재까지 8개월치의 로그가 쌓여있었다. 문제 해결 Logback에서 RollingFile을 설정하여 자동으로 주기적으로 로그가 삭제되도록 설정을 추가하기로 했다. SLF4j와 Logback SLF4j는 가장 오래된 프레임워크이며 Apache 의 Java 기반 Logging Framework다. Logback은 log4j 이후에 출시된 Java 기반 Logging Framework 중 하나로 가장 널리 사용되고 있다. SLF4j 의 구현체이며 Spring Boot 환경이라면 별도의 ..
ktlint로 인한 Build Fail. ktlintMainSourceSetCheck Failed 문제 Kotlin에서 기능 개발 후, Build를 하는 데, Build Fail이 됐다. 에러 문구를 보니 ktlint 관련 Task에서 실패한듯 하다. 에러 메세지를 보면 소스 코드에서 '{' 등을 빼먹었다고 한다. ktlint란? Kotlin 언어에는 공식 코딩 컨벤션이 정의되어 있다. 이를 준수할수 있도록 Gradle 빌드에서 ktlint로 코드 스타일을 검사해준다. 자세한 내용은 아래 페이지 참조. https://blog.benelog.net/ktlint.html ktlint로 Kotlin 공식 코딩 컨벤션 맞추기 - 개발수양록 ktlint는 jar 파일로 제공되고, https://jcenter.bintray.com/ 에도 배포되어 있습니다. 따라서 별도의 Gradle plugin이 없어도 Gra..
Mockito에서 의존성 주입 받은 Spy 객체를 다른 Spy객체에 의존성 주입하기 문제 다이어그램 InternalDocumentService라는 객체의 테스트 코드를 작성해야했다. InternalDocumentService 객체의 의존성은 대략 아래 다이어그램과 같다. InternalDocumentService의 다른 메소드에서도 Document Repository와 PdfGenerator를 사용했다. InternalDocumentService는 BillingStatementCreator, BillingStatementDetailCreator, DocumentRepository, PdfGenerator가 필요했다. BillingStatementCreator와 BillingStatementDetailCreator는 DocumentRepository, PdfGenerator가 필요했다. ..
로컬에 서버 여러 대 실행 시킬 때, BeanCreationException: Error creating bean with name 'h2TCPServer', Exception opening port "9092" (port may be in use) 에러. 문제 로컬에서 서버 여러 대 띄울 때, 아래와 같이 h2TCPServer 관련 에러가 발생했다. 에러 문구를 자세히 보면 h2TCPServer 생성 시 사용할 9092 포트를 이미 사용하고 있다고 한다. org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'h2TCPServer' defined in class path resource [com/.../config/DatabaseConfiguration.class]:Invocation of init method failed; nested exception is org.h2.jdbc.JdbcSQLException: Exception opening port ..
IntelliJ에서 Tomcat 실행 시, 'Tomcat 8.5.84' 실행 오류: Can't find catalina.jar 문제 Tomcat으로 프로젝트 실행시, 아래와 같이 'Tomcat 8.5.84' 실행 오류: Can't find catalina.jar 에러가 났다. 문제 해결 찾아보니 Tomcat path가 잘못되있는 경우 발생한다고 한다. 그래서 Tomcat 구성 편집에 들어간 후, 구성에 들어갔다. 찾아보니 Tomcat 8.5.84는 없고, 8.5.86이 있었다. Tomcat을 homebrew로 설치했었는데, 최근에 brew update하면서 Tomcat 버전도 같이 업데이트 되지 않았나 추측된다. 애플리케이션 서버를 Tomcat 8.5.84에서 Tomcat 8.5.86로 path를 바꿔주니 실행이 되었다.
Vue Router 사용 시, 동일 URL로 Routing할 때 Reload되지 않는 문제 문제 검색 조건에 따라, 하단에 다른 테이블을 보여줘야하는 요구사항이 있었다. 아래와 같이, 검색 조건 부분까지 공통인데, 검색 시 Children Type이 First냐, Second냐에 따라 하단의 테이블이 달라져야 했다. Vue Router를 사용해서 url path에 따라 Children Component를 변경해줬다. Vue Router로 구현한 방법은 아래 글 참조 https://developer-minji.tistory.com/290 Vue Router 사용 요구 사항 검색 조건에 따라, 하단에 다른 테이블을 보여줘야하는 요구사항이 있었다. 아래와 같이, 검색 조건 부분까지 공통인데, 검색 시 Children Type이 First냐, Second냐에 따라 하단의 테이블이 developer-m..
Vue에서 Kendo UI의 kendo-vue-dropdowns 버전 1.0.0에서 1.2.0로 업그레이드 문제 회사에서 화면의 UI툴로 Kendo UI를 사용한다. https://www.telerik.com/kendo-vue-ui/components/introduction/ Kendo UI for Vue Native Components Introduction - Kendo UI for Vue Native Docs & Demos The Kendo UI for Vue Native is a commercial UI library designed and built for developing business applications with Vue. Every UI component in the Kendo UI for Vue Native suite has been built from the ground-up speci..
Access to XMLHttpRequest at '요청 url' has been blocked by CORS policy 에러. 문제 로컬 환경에 Vue 프로젝트와 Spring 프로젝트를 모두 실행시키고, Vue에서 Spring에 API를 호출하려 했다. - Vue 프로젝트의 URL: http://localhost:8080 - Spring 프로젝트의 URL: http://localhost:20101 API를 호출할 때 아래와 같은 CORS 문제가 났다. CORS(Corss-Origin Resource Sharing) 란? CORS는 한국어로 교차-출처 리소스 공유이다. 쉽게 말하면 다른 출처로부터 가져온 리소스를 공유하는 것이다. 출처(Origin) 란? 아래는 URL 구조이다. 출처는 URL 구조에서 Protocol, Host, Port 를 의미한다. 즉, 서버의 위치를 찾아가기 위한 가장 기본적인 구성이다. 브라우저 콘솔에서 ..
Vue에서 Kedo UI 툴 라이센스 에러. @progress/kendo-licensing@1.3.0 postinstall 문제 프로젝트에서 사용하는 Kendo vue의 버전을 1.0.0 -> 2.4.0 으로 올리려고 했다. 왜냐하면 Kendo의 Combobox 기능을 vue로 사용하고 싶은데, 1.0.0에서는 kendo-vue-dropdowns 라이브러리에서 ComboBox 기능이 존재하지 않았기 때문이다. 2.4.0으로 올리고 npm install을 실행하니 아래와 같이 @progress/kendo-licensing의 설치가 필요하다는 warning이 나왔다. 그래서 package.json의 dependencies에 @progress/kendo-licensing 라이브러리를 추가해줬다. 다시, npm install을 해보니 아래와 같이 에러가 나왔다. 라이센스 문제인 거 같아, kendo vue 라이센스 관련해서 해당 홈..
IntelliJ에서 Gradle 프로젝트 빌드 시, invalid source release: 11 에러 문제 kotlin 프로젝트를 받아서 빌드했는데 invalid source release: 11 에러가 났다. 문제 원인 Gradle을 사용해 빌드하므로, build.grade에서 프로젝트의 java 버전을 확인해보니 11이었다. 로컬에 설치된 JDK 버전은 1.8이었다. 즉, JDK 버전과 프로젝트의 JAVA 버전 불일치로 인한 문제였다. 문제 해결 JDK 설치 Oralce에 들어가서 JDK 11버전을 로컬에 설치해주었다. https://www.oracle.com/kr/java/technologies/javase/jdk11-archive-downloads.html Java Archive Downloads - Java SE 11 | Oracle 대한민국 WARNING: These older versions..