다음을 통해 공유


Azure SDK for Java 및 java.util.logging을 사용하여 로그 기록

이 문서에서는 Java용 Azure SDK를 사용하는 애플리케이션에 java.util.logging을 사용하여 로깅을 추가하는 방법에 대한 개요를 제공합니다. java.util.logging 프레임워크는 JDK의 일부입니다. Java용 Azure SDK로깅 구성에서 설명한 대로 모든 Azure 클라이언트 라이브러리는 SLF4J통해 로그를 기록하므로 java.util.logging같은 로깅 프레임워크를 사용할 수 있습니다.

java.util.logging을 사용하도록 설정하려면 다음 두 가지 작업을 수행해야 합니다.

  1. java.util.logging용 SLF4J 어댑터를 종속성으로 포함
  2. /src/main/resources 프로젝트 디렉터리 아래에 logging.properties 파일을 만듭니다.

로거 구성과 관련된 자세한 내용은 Oracle 설명서의 로깅 출력 구성을 참조하세요.

Maven 종속성 추가

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

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-jdk14</artifactId>
    <version>1.7.30</version> <!-- replace this version with the latest available version on Maven central -->
</dependency>

프로젝트에 logging.properties 파일을 추가

사용하여 로그하려면 프로젝트의 ./src/main/resources 디렉터리 아래에 logging.properties라는 파일을 만듭니다. 이 파일에는 로깅 요구 사항을 사용자 지정하는 로깅 구성이 포함됩니다. java.util.logging.config.file 시스템 속성을 설정하여 파일 경로를 제공합니다. 로거 인스턴스를 만들기 전에 이 속성을 설정해야 합니다. 자세한 내용은 Java 로깅: 구성을 참고하십시오.

콘솔에서의 로그 기록

다음 예제와 같이 콘솔에 로그하는 구성을 만들 수 있습니다. 이 예제는 INFO 수준 이상의 모든 로깅 이벤트를 어디에서 왔는지 기록하도록 구성됩니다.

handlers = java.util.logging.ConsoleHandler
.level = INFO

java.util.logging.ConsoleHandler.level = INFO
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
java.util.logging.SimpleFormatter.format=[%1$tF %1$tH:%1$tM:%1$tS.%1$tL] [%4$s] %3$s %5$s %n

파일에 로그온

이전 예제에서는 일반적으로 로그의 기본 위치가 아닌 콘솔에 로그합니다. 파일에 대한 로깅을 대신 구성하려면 다음 구성을 사용합니다.

handlers = java.util.logging.FileHandler
.level = INFO

java.util.logging.FileHandler.pattern = %h/myapplication.log
java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter
java.util.logging.FileHandler.level = INFO

이 코드는 홈 디렉터리(%h)에 myapplication.log 파일을 만듭니다. 이 로거는 특정 기간 후에 자동 파일 회전을 지원하지 않습니다. 이 기능이 필요한 경우 로그 파일 회전을 관리하기 위해 스케줄러를 작성해야 합니다.

다음 단계

이 문서에서는 java.util.logging 구성과 Java용 Azure SDK를 로깅에 사용하도록 만드는 방법을 설명했습니다. Java용 Azure SDK는 모든 SLF4J 로깅 프레임워크에서 작동하므로 자세한 내용은 SLF4J 사용자 수동 검토하는 것이 좋습니다.

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