JavaRush /Java Blog /Random-KO /JavaRush 프로젝트(slf4f 및 log4j)에 로깅을 연결합니다.
Дмитрий Яковенко
레벨 35
Москва

JavaRush 프로젝트(slf4f 및 log4j)에 로깅을 연결합니다.

Random-KO 그룹에 게시되었습니다
이 기사 에서 Maven을 JavaRush 프로젝트에 연결하는 방법을 읽을 수 있습니다 . 다음에서는 이 작업을 수행하는 방법을 알고 있다고 가정합니다. slf4j를 사용하려면 종속성이 필요합니다.
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.30</version>
</dependency>
그 후에 우리는 다음을 수행합니다:
public static void main(String[] args) throws IOException {
    Logger logger = LoggerFactory.getLogger(Solution.class);
    logger.info("hello world!");
}
그러면 다음과 같은 오류가 발생합니다.
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.
일반적으로 논리적입니다. slf4j는 래퍼인데, 무엇을 포장했습니까? 아무것도 아님? 오류가 발생했습니다. log4j, util.logging, NOP, System.err, JCL, logback 중 하나로 이를 래핑할 수 있습니다. 자세한 내용은 원본 지침을 참조하세요 . log4j와 System.err의 예를 살펴보겠습니다. 1) System.err을 사용하여 간단한 것부터 시작해 보겠습니다 . 이렇게 하려면 이전 종속성(slf4j-api)에 이 항목(slf4j-simple)을 추가하세요.
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-simple</artifactId>
    <version>1.7.30</version>
</dependency>
우리는 동일한 버전을 사용하며 2021년 5월 10일 기준으로 1.7.30입니다. https://mvnrepository.com/ 에서 종속성을 가져오는 경우 제거하는 것을 잊지 마세요.
<scope>test</scope>
그렇지 않으면 로그는 테스트에서만 작동합니다. 2) 이제 log4j를 구성해 보겠습니다 . 이를 위해서는 log4j 자체와 slf4j와 log4j 사이의 레이어(slf4j-log4j12)라는 두 가지 종속성을 추가해야 합니다. 다음과 같습니다:
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.7.30</version>
</dependency>
<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
</dependency>
slf4j가 어떤 로거와 함께 작동해야 하는지 혼동하지 않도록 (slf4j-simple)을 제거해야 한다는 것은 분명합니다. 그리고 (slf4j-api)를 떠나세요. 왜냐하면 이것이 slf4j이기 때문입니다. 2개의 추가된 종속성과 관련하여. log4j에 이전 버전을 추가하고 있습니다(2012년 5월부터 이유는 모르겠지만 다른 버전으로 실험해 볼 수 있습니다). 버전은 1.2.17입니다. slf4j가 작동하려면 적절한 계층인 slf4j-log4j12가 필요합니다. 여기서 마지막 문자(12)는 log4j 버전을 의미합니다. 이 경우, slf4j-api 및 slf4j-log4j12의 버전은 현재 안정적인 최신 버전인 1.7.30이어야 합니다. 종속성을 연결하고 Maven 프로젝트를 업데이트한 후. log4j가 작동하려면 두 가지가 더 필요합니다. 1) 구성 파일을 설정합니다. 읽고, 선택하고, 복사합니다. 2) 작업 전에 log4j 구성을 읽으십시오.
PropertyConfigurator.configure("d:\\Java\\JavaRushTasks\\4.JavaCollections\\log4j.properties");
음, 아니면 파일이 있는 곳에요. 모든 로그를 보려면 로깅 수준을 ALL로 설정하는 것을 잊지 마십시오. 이력서에 log4j & slf4j를 추가합니다. 너는 아주 멋져! 도움이 되셨다면 좋아요, 구독, 벨!)))
코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION