본문 바로가기
반응형

분류 전체보기386

[log4j] 로그레벨 package 별로 설정하기 JDBC 라든가 특별 패키지에만 로그레벨을 설정하고 싶은데 어떻게 해야할지 설정하는 것이다. 우선 log4j를 설정하려면 특별한 경로설정하지 않는 한 다음 위치에 두면된다. resources/log4j.properties 다음처럼 설정을 추가하자 log4j.rootLogger=debug, stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=[%d{yyyy-MM-dd HH:mm:ss}] [%t] [%-5p] %c - %m%n 기본값으로 debug 레벨을 주었다.. 2021. 12. 3.
[JPA] 쿼리 로깅에 p6spy multi line 적용하기 JPA 쓰다보면 로깅이 알아보기 힘들게 나오는데 몇가지 설정으로 보기 편하게 할 수 있다. 우선 p6spy를 사용하는 것인데, 좋은점은 바인딩 위치에 값을 삽입해준다는 점이다 그래서 쿼리가 다음처럼 나온다. p6spy 사용 전 (hibernate.show_sql 옵션 사용) select subcategor0_.up_category_id as up_cate12_2_1_, subcategor0_.id as id1_2_1_, subcategor0_.id as id1_2_0_, subcategor0_.mod_dt as mod_dt2_2_0_, subcategor0_.reg_dt as reg_dt3_2_0_, subcategor0_.mod_member as mod_memb4_2_0_, subcategor0_.re.. 2021. 11. 5.
[gradle] 멀티모듈에서 spring 프로젝트 -> spring 프로젝트 의존성 연결하기 한쪽은 Spring 을 이용한 모듈 서비스를, 한쪽은 Spring 웹 프로젝트로 구성된 Gradle 멀티 모듈을 사용하려 한다. 그러기 위해선 다음의 과정을 해결해야 한다. 1) Spring Core를 쓰는 곳에 web 모듈을 끈다. 2) Spring Core 에서 Dependency 할 때 bootJar 가 실행되지 않도록 한다(jar 실행) 상세하게 알아보자 1) Spring Core를 쓰는 곳에 web 모듈을 끈다. 스프링은 별도 설정을 하지않으면 웹서버를 가정한다. 그래서 웹서비스를 꺼두지 않으면 실행할 때 다음의 에러가 발생한다. org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'webCo.. 2021. 10. 27.
[gradle] intellij 에서 gradle을 이용해 runnable jar 만들기 jar를 만드는 방법은 두가지가 있다. 1) gradle 에 설정한 뒤, tasks -> jar 를 실행하여 만드는 방법 2) intellij 프로젝트 Settings 에서 artifacts를 등록하여 만드는 방법 2번의 경우 새로운 Intellij 환경마다 지정해야하는 번거로움이 있다. 때문에 gradle에 등록함으로써 어느 컴퓨터의 어느 Intellij 환경에서도 작동할 수 있도록 하는게 목표다. build.gradle 파일을 열어보면 다음처럼 기본으로 구성되어 있을 것이다 plugins { id 'java' } group 'org.example' version '1.0-SNAPSHOT' repositories { mavenCentral() } dependencies { ... 필요한 library .. 2021. 10. 22.
[java] JNA를 이용해 공유 라이브러리 파일(.so 파일) 읽기 JNI(Java Native Interface) 와 JNA(Java Native Access) 의 차이는 인터넷에 많으니 생략. 여기서는 파일을 읽는 방법과, 그것을 사용하는 방법에 대해 다루기로 한다. 개발하는데 확장자 so파일을 받아 처리해야 하는경우가 생겼는데, (so파일일 경우 리눅스에서만 돌아간다. Mac 과 윈도우는 각각 다른 확장자명을 컴파일 가능) JNA를 통해 읽으려니 자꾸 파일에러가 났다. 코드가 다음과 같다. public interface TestDll extends Library { int TeseVersion(Memory Ver); } public class Test { public static void main(String[] args) { TestDll testDll = (Te.. 2021. 10. 15.
[jenkins] webhook 사용 자동빌딩(배포) 시, 특정 브런치명만 실행하기(CI/CD 옵션) 내 경우 Gitlab을 git으로 사용하고 소스가 변경되는 경우(push) Jenkins 에 통보하여 알린다음 자동 CI/CD가 되도록 구축했는데, Gradle의 멀티모듈을 사용하다보니 여러 프로젝트가 동시에 빌딩되는 문제가 생겼다. 예를들어 1개의 멀티모듈에 A,B,C 프로젝트가 있고, B라는 프로젝트를 수정해서 푸시, 자동배포하길 기대했는데 A,B,C가 모두 배포되는 것이다. 확인해보니 Gitlab 에서 Push events 를 보낼때 지정하는 것과, Jenkins 에서 허락한 브런치의 변화에서만 수정하는 방법이 있었다. 둘다 알아보자 # Gitlab 에서 하는 방법 Project > Settings > Integration Settings 에 들어가면 webhook 설정이 가능하다. 여기에서 Tri.. 2021. 10. 13.
반응형