나는 log4j 1.x 버전이 EOL 된 것처럼 종속 관계를 제거하려고합니다. 내 코드는 slf4j-log4j12 bridge를 사용합니다. maven에서 slf4j-log4j에 대한 중앙 컴파일 종속성은 버전 1.2.17에서 log4j를 표시하고 업데이트 열은 2.8.1을 표시합니다.slf4j-log4j bridge with log4j 2.8.1
그래서 log4j-api-2.8.1이 log4j-1.2.17 대신 기본적으로 사용된다는 희망으로 build.gradle에서 다음을 시도했습니다. 그러나 그것은 작동하지 않는 것 같습니다. 종속 항아리에는 여전히 log4j-1.2.17이 있습니다.
저는 물어보고 싶었습니다. 전혀 허용되지 않는 무언가입니까? 나는. log4j 2.8.1 버전이나 2.x 버전의 slf4j-log4j bridge가 없습니까? 본질적으로 log4j-api-2.8.1을 사용하도록 코드를 마이그레이션해야합니다. 아니면 여기에 뭔가 빠졌나요?
dependencies {
compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.8.1'
compile group: 'org.slf4j', name: 'slf4j-log4j12', version: '1.7.25'
}
하나의 질문은 내 주요 질문에 넣어야할지 모르겠다. Slf4j 1.7.25 페이지 [here] (https://www.slf4j.org/apidocs/index.html)에서는 org.apache.log4j. * 패키지를 끝으로 나열합니다. 그러나 실제 항아리에는 그러한 항아리가 들어 있지 않습니다. 나는 여기서 무슨 일이 일어나고 있는지 이해할 수 없다. 도와주세요. 또한 Log4j-api-2.8.1 패키지는 이제 org.apage.logging.log4j.로 이름 공간이 지정됩니다. * 그래서 어떻게 Sl4j-api 1.7.25와 맞습니까? – WinCPP
@WinCPP : slf4j apidocs의 org.apache.log4j. * 패키지는 "log4j-to-sl4j"입니다. 이것이 주요 API에없는 이유입니다. 그리고 slf4j로 피팅 구현은 "log4j-sl4j-impl"에 있습니다. – sazzad
@Mike HM 오타를 알아 줘서 고마워. – sazzad