通过用于 Java 的 Azure SDK 和 java.util.logging 进行日志记录

本文概述了如何在使用 Azure SDK for Java 的应用程序中,通过 java.util.logging 添加日志记录。 框架 java.util.logging 是 JDK 的一部分。 如在 Azure SDK for Java 中配置日志记录中所述,所有 Azure 客户端库都通过 适用于 Java 的简单日志记录外观进行日志(SLF4J),因此可以使用日志记录框架,例如 java.util.logging

若要启用 java.util.logging,必须执行两项作:

  1. 包括 SLF4J 适配器作为 java.util.logging 依赖项,
  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

若要使用 java.util.logging进行记录,请在项目的 ./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

此代码将在主目录中创建名为 myapplication.log 的文件(%h)。 此记录器在特定时间段后不支持自动文件轮换。 如果需要此功能,则需要编写计划程序来管理日志文件轮换。

后续步骤

本文介绍了 java.util.logging 的配置以及如何让 Java 版的 Azure SDK 使用它进行日志记录。 由于 Azure SDK for Java 适用于所有 SLF4J 日志记录框架,因此请考虑查看 SLF4J 用户手动 以了解更多详细信息。

掌握日志记录后,请考虑了解 Azure 在 Spring 等框架中提供的集成。