전자정부프레임워크 4.1 레빗엠큐 연동 가이드
- 작성자 :
- 배*열
- 작성일 :
- 2023-07-20 18:06:38
- 조회수 :
- 908
- 구분 :
- 개발환경 / 4.1
- 진행상태 :
- 완료
Q
래빗엠큐 연동을위해 메이븐에
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-stream</artifactId>
<version>3.2.4</version>
</dependency>
하여 jar를 다운받았습니다.
그런데
심각: Context initialized 이벤트를 [org.springframework.web.context.ContextLoaderListener] 클래스의 인스턴스인 리스너에 전송하는 동안 예외 발생
org.apache.logging.log4j.LoggingException: log4j-slf4j-impl cannot be present with log4j-to-slf4j
at org.apache.logging.slf4j.Log4jLoggerFactory.validateContext(Log4jLoggerFactory.java:60)
at org.apache.logging.slf4j.Log4jLoggerFactory.newLogger(Log4jLoggerFactory.java:44)
at org.apache.logging.slf4j.Log4jLoggerFactory.newLogger(Log4jLoggerFactory.java:33)
at org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:53)
at org.apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:33)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:358)
log4j-slf4j-impl.jar 와 log4j-to-slf4j.jar 파일을 동시에 사용할수 없다는 내용이고
log4j-to-slf4j는 spring-cloud-stream.3.2.4.jar추가하면서 자동으로 추가됬습니다.
log4j-slf4j-impl.jar 와 log4j-to-slf4j.jar중 한가지를 없애야하는것 같은데
어떻게 해결하는게 좋을까요?
개발자 교육 자료에 있는
04.MSA템플릿_이벤트스트림구성및 실습.pdf 파일을 참조하였습니다.
spring-cloud-stream 3.2.4 버전이라고 하셔서
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-stream</artifactId>
<version>3.2.4</version>
</dependency>
하여 jar를 다운받았습니다.
그런데
심각: Context initialized 이벤트를 [org.springframework.web.context.ContextLoaderListener] 클래스의 인스턴스인 리스너에 전송하는 동안 예외 발생
org.apache.logging.log4j.LoggingException: log4j-slf4j-impl cannot be present with log4j-to-slf4j
at org.apache.logging.slf4j.Log4jLoggerFactory.validateContext(Log4jLoggerFactory.java:60)
at org.apache.logging.slf4j.Log4jLoggerFactory.newLogger(Log4jLoggerFactory.java:44)
at org.apache.logging.slf4j.Log4jLoggerFactory.newLogger(Log4jLoggerFactory.java:33)
at org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:53)
at org.apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:33)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:358)
log4j-slf4j-impl.jar 와 log4j-to-slf4j.jar 파일을 동시에 사용할수 없다는 내용이고
log4j-to-slf4j는 spring-cloud-stream.3.2.4.jar추가하면서 자동으로 추가됬습니다.
log4j-slf4j-impl.jar 와 log4j-to-slf4j.jar중 한가지를 없애야하는것 같은데
어떻게 해결하는게 좋을까요?
개발자 교육 자료에 있는
04.MSA템플릿_이벤트스트림구성및 실습.pdf 파일을 참조하였습니다.
spring-cloud-stream 3.2.4 버전이라고 하셔서
환경정보
-
- OS 정보 : MAC
- 표준프레임워크 버전 : 3.1
- JDK(JRE) 정보 : 1.8
- WAS 정보 : 톰캣 9.0
- DB 정보 :
- 기타 환경 정보 :
A
안녕하세요. 표준프레임워크 센터입니다.
log4j-slf4j-impl.jar는
'org.egovframe.rte.fdl.idgnr -> org.egovframe.rte.fdl.cmmn -> org.egovframe.rte.fdl.logging'에 위치하는 라이브러리입니다.
한편 log4j-to-slf4j.jar 는 문의 주신 바와 같이 spring-cloud-stream에 포함되는 라이브러리입니다.
현재, github에 공개되어 있는 msa backend의 reserve-request-service를 기준으로 build.gradle을 확인해 보시면
해당 오류 방지를 위해
implementation('org.egovframe.rte:org.egovframe.rte.fdl.cmmn:4.1.0') {
exclude group: 'org.egovframe.rte', module: 'org.egovframe.rte.fdl.logging'
}
다음과 같이 처리하고 있으므로 maven에서도 동일하게 exclusion 해주시면 될 것으로 보입니다.
감사합니다.
log4j-slf4j-impl.jar는
'org.egovframe.rte.fdl.idgnr -> org.egovframe.rte.fdl.cmmn -> org.egovframe.rte.fdl.logging'에 위치하는 라이브러리입니다.
한편 log4j-to-slf4j.jar 는 문의 주신 바와 같이 spring-cloud-stream에 포함되는 라이브러리입니다.
현재, github에 공개되어 있는 msa backend의 reserve-request-service를 기준으로 build.gradle을 확인해 보시면
해당 오류 방지를 위해
implementation('org.egovframe.rte:org.egovframe.rte.fdl.cmmn:4.1.0') {
exclude group: 'org.egovframe.rte', module: 'org.egovframe.rte.fdl.logging'
}
다음과 같이 처리하고 있으므로 maven에서도 동일하게 exclusion 해주시면 될 것으로 보입니다.
감사합니다.