[maven] error_Log4j2 could not find a logging implementation

Posted by yvette.theomom's blog
2020. 1. 15. 13:14 개발/026_SPRING

제목:

Log4j 구현체가 없다는 클래스를 지정하라는 어쩌구 에러인듯.

Log4j2 could not find a logging implementation

maven 에서 log4j 사용시 dependancy 에러

 

내 프로젝트 개발환경 : 

    전자정부 프레임워크 3.5.1

 

 3.5.1

 

Comment : 

    확실히 검증된 내용을 쓰는 블로그가 아닌, 나의 작업노트로 쓰는 블로그인 만큼 

    추측성의 정보도 존재하니 참고하시고 참조해주세요. 

    

 

 

현상 서버구동시 에러발생
에러로그

ERROR StatusLogger Log4j2 could not find a logging implementation. Please add log4j-core to the classpath. Using SimpleLogger to log to the console...

 

해결과정 pom.xml 에서 관련 dependency 찾아봄
 
    org.apache.logging.log4j
    log4j-core
    2.9.1
 

하여.... 검색어: log4j-core-2.9.1.jar 

검색하면 Maven Repository 사이트가 나옴. 여기서 다운로드

 

 

download 받았으나, 이것만으론 어떻게 적용해야 할지 모름 ^^

-> 꼭 직접 다운로드 받을 필요 없음.

pom.xml 에 설정해서 maven update 받는 방법도 있음.

이후 maven build 하고.

 

그리고 maven 업데이트 하였으나, 콘솔에서는 계속 log4j2 어쩌구를 찾는다.

하여.. 해당경로의 파일을 찾아보니

프로젝트 내에는

/프로젝트명/src/main/resources/log4j.xml

이 파일만 있네.

이 파일이 빌드되면 이름그대로 log4j 로 classpath 로 떨어지는것 같은데,

(근거 참조url: http://dveamer.github.io/java/Log4j2.html)

 

콘솔로그에서는 log4j2 를 찾음...

더 찾아보니 아마 eGovFrameWork 에서는 log4j2 로 뭔가를 하는것 같다.

전자정부에서 log4j2 라는 이름으로 무엇을 하는지?? (todo)

 

...ing

 

관련 pom.xml 정보

<dependency>
   <groupid> org.apache.logging.log4j</groupid>
   <artifactId>log4j-core</artifactId>
    <version>2.9.1</version>

</dependency>

관련 jar 다운로드 url http://logging.apache.org/log4j/2.x/download.html

혹은

Maven Repository Site

https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core/2.9.1

 

해결과정2 (TODO)

참조url

https://engkimbs.tistory.com/861

 

 

[restart_js] #01. 설치부터

Posted by yvette.theomom's blog
2018. 1. 24. 07:33
보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

[설치] MS-SQL

Posted by yvette.theomom's blog
2016. 8. 22. 14:09 개발/023_모든매뉴얼

파일 : SQLEXPRWT_x64_KOR.exe,

        SQLServer2008SP3-KB2546951-x64-KOR.exe(서비스팩)


도움이 된 사이트:

http://www.dsun.kr/37



[ERROR] 오라클 TNS SERVICE 시작에러

Posted by yvette.theomom's blog
2015. 7. 30. 10:11 개발/021_에러노트

[ERROR] 오라클 TNS SERVICE 시작에러


MyEverNote: [ERROR] 오라클 TNS SERVICE 시작에러



  • 현상:

 ---------------------------

서비스
---------------------------
OracleXETNSListener 서비스가 로컬 컴퓨터에서 시작했다가 중지되었습니다. 일부 서비스는 다른 서비스 또는 프로그램에서 사용되지 않으면 자동으로 중지됩니다.
---------------------------
확인  
---------------------------



  • 해결:


 결론: path 의 오라클경로를 oracle11xe 를 맨앞으로 빼주고 재부팅한다.




해결과정: 

0. 내컴 환경에는 오라클버전이 3개 있음.
     1) oracle 11xe
     2) oracle 10g client
     3) oracle 10g runtime

1. path 수정
     위의 2), 3) 을 나중에 추가로 설치하면서 path 에 자동으로 2,3의 path 가 앞에 있었다.
     그것을 main 으로 쓰고 있는 1) 의 경로를 앞에오게 둔다.

내 환경변수: 
     
D:\oraclexe\app\oracle\product\11.2.0\server\bin;D:\oracle_program\instantclient_11_2;d:\oracle_program\oracle10g_runtime\bin;D:\oracle_program\oracle10g_client;%ORACLE_HOME%;

하하....너무 많네..ㅎㅎ 여튼 맨앞에 oracle11xe 버전이 맨앞에 오면 된다.
사실 window7 64bit 를 쓰면서 toad 도 못쓰고, orange 도 못쓰고 오로지 sql developer 만 쓰니까 너무 불편해서..
나름 이것저것 구글링을 해서 찾아보고 하다보니 저리 경로가 많아졌다.

instantclient_11_2 는 window7(64) 에서 Toad11 을 쓰기 위한 설정이었고,
oracle10g_runtime 은 window7(64) 에서 Orange4.x 를 쓰기 위한 설정이었고,
oracle10g_client 는 Orange 를 쓰기 위한 설정이었으나. 이 버전으론 실패해서 위에 runtime 버전으로 다시 깐것이다.


그럼 이 path 는 안쓰니까 삭제해볼까...=====> 안됨.. 삭제 했다가 삽질....삭제는 안하는걸로..
ORACLE_HOME 시스템변수(내가 설정한것)를 삭제하면 안되는것 같음.

 
3. 재부팅







stackoverflow 라는 곳.

Posted by yvette.theomom's blog
2015. 7. 24. 10:48 개발

나도 stackoverflow 에 질문올리고 답을 얻었다. ㅎㅎ 개발자도 영어를 해야하는 이유가 이것이구나..ㅎㅎ 어제 질문을 엉망으로 올렸을땐 답이 없더니...오늘 올린글엔 15분만에 답을 얻었다.!! 오호...괜히 잼있네...


괜히 혼자 기분좋아서

캡쳐떴다.^^




'개발' 카테고리의 다른 글

[restart_js] #01. 설치부터  (0) 2018.01.24
[20150708] 오늘의 개발일지  (0) 2015.07.08

[JAVA-표준입력관련] #02_Scanner

Posted by yvette.theomom's blog
2015. 7. 14. 11:29 개발/020_일일 커밋?아니 포스트!

package com.kh.jvavex;


import java.util.*;

/*

 * 하나 이상의 수를 입력받는 API를 소개 합니다.

 * 그냥 사용법만 기억하시고 나중에 원리를 알게 됩니다.

 *

 * 추가"

 * Scanner는 System.in 외에 다양한 인자를 읽어들여 파싱 및 처리를 해준다.

 * test02,03 참조블로그: http://hyeonstorage.tistory.com/136

 */

public class KH0019_InputExam_Scanner {


/**

* @param args

*/

public static void main(String[] args) {

try {

//TEST_01

//아래의 Scanner 코드가 실제 입력을 받는 일을 해줍니다.

//꼭 사용하세요.

//sjyoon: c 의 scanf()

Scanner sc = new Scanner(System.in);

System.out.println("첫 수 입력: ");

//한자리수 이상의 키보드 입력 값을 엔터 전까지 받아서

//프로그램에 String 타입으로 전달하는 API..sc.next();

//또한 따로 엔터처리 하지 않아도 됩니다.

String fir = sc.next();

//문자열내의 정수값만 추출해서 정수타입으로 변환 시키는 API 사용

//Integer.parseInt(문자열정수)가 이기능을 합니다.

int f1 = Integer.parseInt(fir);

System.out.println("입력한 수에 +1 한 결과 : " + f1);

//TEST_02 : 입력문자 출력

//예제소스 출처: http://hyeonstorage.tistory.com/136

String message;

Scanner scan = new Scanner(System.in);

System.out.println("메세지를 입력하세요:");

message =  scan.nextLine(); // scanner의 nextLine() 메소드는 Scan한 소스의 다음 문자열 라인을 읽어 온다.

System.out.println("입력한 메시지: \"" + message + "\"");

//TEST_03 : 입력숫자(정수, 실수) 출력

int kilometer;

double liter, mpg;

System.out.println("거리(km) 값 정수를 입력하세요: ");

kilometer = scan.nextInt(); // 키보드 숫자 정수 입력 : nextInt() 는 정수값을 받아온다.


System.out.println("리터 값을 입력하세요: ");

liter = scan.nextDouble(); // 키보드 숫자 Double형 입력 : nextDouble() 은 Double 형을 가져온다.

mpg = kilometer / liter;

System.out.println("kilometer per liter : " + mpg); 

}catch(NumberFormatException Ne){

System.out.println("[NumberFormatException] 숫자를 입력하세요.");

}

}


}



'개발 > 020_일일 커밋?아니 포스트!' 카테고리의 다른 글

[JAVA-연산자] #01_연산자연습  (0) 2015.07.10
[20150710, 금] start....  (0) 2015.07.10

[JAVA-연산자] #01_연산자연습

Posted by yvette.theomom's blog
2015. 7. 10. 16:57 개발/020_일일 커밋?아니 포스트!

package com.kh.jvavex;


/*

 * 자바 연산자

 * 모든 프로그래밍에서는 데이터의 연산을 하기 위해 연산자를 이용합니다.

 * 지금 배울 연산자는 자바뿐 아니라 모든 언어에서 거의 유사하게 사용되니

 * 잘 알면 나중에 편해집니다.

 * 

 * 주의해서 봐야 할 것은 연산자의 기능과 순서 입니다.

 * 연산자의 종류는 많기 때문에 모두 외우려고 하기 보다는 자주 사용하면서

 * 익숙해지도록 합니다.

 * 

 * 또한 아래에 나열되는 연산자의 종류는 그 순서대로 정의 한것이기 때문에

 * 첫자를 순서대로 기억하시면 좀더 편할 것입니다.

 * 

 * 1.최우선 연산자(이하 연산자 생략)

 * .(닷 또는 점..클래스 또는 객체 소유의 변수,메서드 등을 호출하는 연산자,기억)

 * [](배열 연산자..배열은 객체다 라는것 기억)

 * ()(괄호 연산자)-->다 아시죠??

 * 

 * 2.단항 : !(논리 부정), ~(비트 반전), +/-(부호연산), ++/--(선행증감)

 * (cast)케스팅 연산자

 * 

 * 3.산술 : +,-,*,/,%(모듈러 연산자,나눈후 나머지 값을 취하는 연산자)

 * 

 * 4.쉬프트 : <<,>>,>>>

 * 

 * 5.관계 : >,<,>=,<=,==(값이 같니? 객체에서는 틀림),!=(값이 같지 않니?)

 * 

 * 6.비트 : &, |, ^

 * 

 * 7.논리 : &&(And 개념), ||(Or 개념), &, |

 * 

 * 8.삼항 : 조건식 ? 조건이 true시 리턴 값 : false 시 리턴 값

 * 

 * 9.배정대입 : =, +=, *=, -=,....많음..

 * 

 * 10.후행증감 : ++/--

 */

public class KH0012_YonsanjaExam {


/**

* comment: 연산자 연습

*/

public static void main(String[] args) {

int a = 1;

// a의 값을 1 증가 해봅니다.

int b = ++a; // 예상: b=2, a=2

int c = ++b + --a; // 예상: c=4, b=3, a=1

int d = c-- + b++ + a; // 예상: a=1, b=4, c=3, d=8

System.out.println("[전위후위 연산자] =========================================");

System.out.println("[RESULT_01] a=" +a+ ", b=" +b+ ", c=" +c+ ", d=" +d );

a = 0;

b = ++a; // a=1, b=1

c = b--; // a=1, b=0, c=0

// System.out.println("[RESULT_temp] a=" +a+ ", b=" +b+ ", c=" +c );

d = ++c - --b + ++a; // a=2, b=?, c=1, d=?

System.out.println("[RESULT_02] a=" +a+ ", b=" +b+ ", c=" +c+ ", d=" +d );

System.out.println("[모듈러 연산자 (%) ] =========================================");

//모듈러 연산자 (%) : 일단 나눈후 나머지값을 반환하는 연산자 입니다.

//특징은 나누는 값이 더 클 경우엔 작은수를 리턴합니다.

a = 2; b = 2;

c = 2 % 2; // c=0

c = ++a % b; // c=1 a=3, b=2

a = 5; b = 6;

c = a % b; // c=1

System.out.println("[RESULT_03] a=" +a+ ", b=" +b+ ", c=" +c);

int code = 1;

int result = code % 2; // result = 1

// same code

if(result == 0) {

System.out.println("You are Woman.");

} else {

System.out.println("You are Man");

}

// same code

String gender = code % 2 != 0 ? "Man" : "Woman"; // ? true:false

System.out.println("You are " + gender + "." ); // Man

// ############################################################################

System.out.println("[비트 시프트 연산] =========================================");

//10의 비트를 보고 >>2 해봅니다.

int sh = 10;

System.out.println("10 은 1010 : BinaryString =====>" + Integer.toBinaryString(sh));

System.out.println("1010을 >> 2 한값은 0010 이므로 10진수로 2 이고 :  BinaryString ??? =====> " + Integer.toBinaryString(sh >> 2));

sh = 2;

System.out.println(Integer.toBinaryString(sh << 3));

sh = -1;

System.out.println(Integer.toBinaryString(sh));

sh = sh >>> 2;

System.out.println(sh);

System.out.println(Integer.toBinaryString(sh));

sh = -1;

System.out.println(Integer.toBinaryString(sh));

sh = sh>>>2;

System.out.println("-------------------");

System.out.println(sh);

System.out.println(Integer.toBinaryString(sh));

// 여기 까지 보류....시프트 연산은 다시...

// ############################################################################

System.out.println("[논리 연산] =========================================");

boolean bb = true;

boolean cc = true;

if((false && cc) && (true && false)) {

System.out.println("실행문");

}

int t = 1;

if((bb && cc) | (++t > 0)) {

System.out.println("t1 ===> " + t);

}

System.out.println("t2 ===> " + t);

int sh2 = -1;

sh2 = ~ sh; // 비트반전 

System.out.println("반전된 sh2 bit : " + Integer.toBinaryString(sh2));

boolean isCon = true;

if(!isCon) {

System.out.println("게임다시시작함..");

} else {

System.out.println("게임끝냄"); // 이게 나올것 같음..OK!

}

a = 1;

a += 1; // a = a + 1  a=2

a *= 2; // a=4

a %= 4; // a=0

System.out.println("[result] a=" + a );

//아래의 코드를 분석해서 결과 타입과 값을 추출해 보세요..

//본인이 직접 분석하고 결과를 출력해서 비교하세요.

//4 + 5 > 2 - 1 * 7 && (12 & 3 * 2) > 7 || -2 != 2 

System.out.println(4 + 5 > 2 - 1 * 7 && (12 & 3 * 2) > 7 || -2 != 2);

}


}



'개발 > 020_일일 커밋?아니 포스트!' 카테고리의 다른 글

[JAVA-표준입력관련] #02_Scanner  (0) 2015.07.14
[20150710, 금] start....  (0) 2015.07.10

[20150710, 금] start....

Posted by yvette.theomom's blog
2015. 7. 10. 09:58 개발/020_일일 커밋?아니 포스트!

어딘가 서버에 커밋하긴 아직 부담스럽고....

스터디의 개념으로

날마다 놀지 않기 위한 개념으로

평일 기준, 하루에 조금씩......조금이라도....^^


나의 계획은


1번째 turn


1. java

1.1 KH 에서 study 햇던 내용을 위주로 일단 쭉.....코딩스터디를 한다.

1.2. 자바의 정석 1독을 하면서 쭈욱...코딩한다....

2. Jsp&서블릿

2.1 KH강좌

3. Spring

3.1 https://www.youtube.com/playlist?list=PLieE0qnqO2kTyzAlsvxzoulHVISvO8zA9 를 들으면서 코딩한다.

4. jQuery

4.1... 강좌를 찾아보거나 책으로...


그런데..순서가 뒤죽박죽이 될수 도 있을것 같다...

나한테 맞게..

어찌됬건...start!!


2번째 turn

... 생각중....