다음을 통해 공유


Java 및 Log4j용 Azure SDK를 사용하여 로그

이 문서에서는 Java용 Azure SDK를 사용하는 애플리케이션에 Log4j를 사용하여 로깅을 추가하는 방법에 대한 개요를 제공합니다. Java용 Azure SDK의 로깅 구성에서 멘션 모든 Azure 클라이언트 라이브러리는 SLF4J를 통해 로그되므로 log4j와 같은 로깅 프레임워크를 사용할 수 있습니다.

이 문서에서는 Log4J 2.x 릴리스를 사용하는 지침을 제공하지만 Log4J 1.x는 Java용 Azure SDK에서 동일하게 지원됩니다. log4j 로깅을 사용하도록 설정하려면 다음 두 가지 작업을 수행해야 합니다.

  1. log4j 라이브러리를 종속성으로 포함
  2. /src/main/resources 프로젝트 디렉터리 아래에 구성 파일(log4j2.xml 또는 log4j2.xml)을 만듭니다.

log4j 구성과 관련된 자세한 내용은 Log4j 2 시작 을 참조하세요.

Maven 종속성 추가

Maven 종속성을 추가하려면 프로젝트의 pom.xml 파일에 다음 XML을 포함합니다. 2.16.0 버전 번호를 Apache Log4j SLF4J 바인딩 페이지에 표시된 최신 릴리스 버전 번호로 바꿉다.

<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-slf4j-impl</artifactId>
    <version>2.16.0</version>
</dependency>

참고 항목

알려진 취약성 CVE-2021-44228로 인해 Log4j 버전 2.16 이상을 사용해야 합니다.

Log4j 구성

Log4j를 구성하는 두 가지 일반적인 방법은 외부 속성 파일 또는 외부 XML 파일을 통해서입니다. 이러한 접근 방식은 아래에 설명되어 있습니다.

속성 파일 사용

프로젝트의 /src/기본/resources 디렉터리에 log4j2.properties 라는 플랫 속성 파일을 배치할 수 있습니다. 이 파일은 다음 형식을 사용해야 합니다.

appender.console.type = Console
appender.console.name = STDOUT
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = %d %5p [%t] %c{3} - %m%n

logger.app.name = com.azure.core
logger.app.level = ERROR

rootLogger.level = info
rootLogger.appenderRefs = stdout
rootLogger.appenderRef.stdout.ref = STDOUT

XML 파일 사용

프로젝트의 /src/기본/resources 디렉터리에 log4j2.xml 이라는 XML 파일을 배치할 수 있습니다. 이 파일은 다음 형식을 사용해야 합니다.

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO">
    <Appenders>
        <Console name="console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d %5p [%t] %c{3} - %m%n" />
        </Console>
    </Appenders>
    <Loggers>
        <Logger name="com.azure.core" level="error" additivity="true">
            <appender-ref ref="console" />
        </Logger>
        <Root level="info" additivity="false">
            <appender-ref ref="console" />
        </Root>
     </Loggers>
</Configuration>

다음 단계

이 문서에서는 Log4j의 구성과 Java용 Azure SDK가 로깅에 사용하도록 설정하는 방법을 설명합니다. Java용 Azure SDK는 모든 SLF4J 로깅 프레임워크에서 작동하므로 자세한 내용은 SLF4J 사용자 설명서를 검토하는 것이 좋습니다. Log4j를 사용하는 경우 웹 사이트에도 방대한 양의 구성 지침이 있습니다. 자세한 내용은 Log4j 2 시작!을 참조 하세요.

로깅을 마스터한 후에는 Azure가 Spring 및 MicroProfile같은 프레임워크에 제공하는 통합을 살펴보는 것이 좋습니다.