org.slf4j 및 ch.qos.logback을 사용하여 내 osgi 응용 프로그램을 로그하고 Eclipse Equinox 환경에서 실행합니다. 모든 것이 잘 작동합니다. SLF4J 플러그인은 다음과 같은 기능 파일에 한 번 선언 :TYCHO maven 빌드가 두 개의 다른 org.slf4j.api 버전을 포함합니다.
<plugin
id="org.slf4j.api"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
나는 이클립스 디버거에서 응용 프로그램을 실행하거나, 내가 일식 제품 내보내기 기능에서 응용 프로그램을 내보낼 때, 내 로그는 제대로 때 logback.xml을 사용하여 적절히 처리합니다. 나는 MyApp를/플러그인 폴더에서 볼 때
, 나는이 2 개 개의 단지를 찾을 : - org.slf4j.api_1.7.2.v20121108-1250.jar - 을 org.slf4j.log4j_1.7.2.v20130115-1340.jar 내가 티코와 MAVEN하여 응용 프로그램을 빌드 할 때
그러나, 나는 MyApp를/플러그인/폴더에 org.slf4j.api의 2 가지 버전을 찾을 수 :
- org.slf4j.api_1.7.2을 .v20121108-1250.jar
- org.slf4j.ap I는 애플리케이션을 실행할 때, 결과적으로 i_1.7.10.v20160921-1923.jar
- org.slf4j.log4j_1.7.2.v20130115-1340.jar
은 다음 메시지가 표시된다 :
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
osgi> log4j:WARN No appenders could be found for logger (org.quartz.impl.StdSchedulerFactory).
log4j:WARN Please initialize the log4j system properly.
org.slf4j.api_1.7.10 jar가 빌드에 포함되어 로깅 메커니즘이 중단 된 것처럼 보입니다.
내 자동 빌드가 손상됩니다.
도와주세요.
감사합니다.
편집 대상 파일을 사용하고 있지 않습니다.
<repositories>
<repository>
<id>eclipse</id>
<url>http://download.eclipse.org/releases/neon</url>
<layout>p2</layout>
</repository>
<repository>
<id>orbit</id>
<url>http://download.eclipse.org/tools/orbit/downloads/drops/R20160520211859/repository/</url>
<layout>p2</layout>
</repository>
안녕하십니까, 답변을 주셔서 감사합니다.하지만 타겟 파일을 사용하고 있지는 않지만, 내 게시물의 최신 편집에 설명 된대로 P2 보관소를 사용하고 있습니다. – Bepeho
알았습니다. 당신의 eclipse 저장소는 버전 1.7.2와 1.7.10 둘 다에'org.slf4j.api'를 포함하고 있습니다. (팁 : 이것을 직접 확인하려면 * 저장소 탐색기 *보기로 가서 * 전문가 모드 *를 검색하고 org.slf4j.api라는 이름의 * osgi.bundle). 대부분의 경우 해당 사이트에서 사용할 수있는 기능은 제품에서 다시 사용되며 버전 1.7.10이 필요합니다. 어떤 기능이 귀하의 제품에 있습니까? (.'product' 파일을 텍스트 편집기에서 열고 관련 부분을 여기에 붙여 넣을 수 있습니다.) –