使用 Azure SDK for Java 和 java.util.logging 进行日志记录
本文概述如何使用 java.util.logging 向使用 Azure SDK for Java 的应用程序添加日志记录。 java.util.logging 框架是 JDK 的一部分。 如在 Azure SDK for Java 中配置日志记录中所述,所有 Azure 客户端库都通过 SLF4J 进行日志记录,因此可以使用诸如 java.util.logging 之类的记录框架。
若要启用 java.util.logging,必须执行以下两项操作:
- 添加用于 java.util.logging 的 SLF4J 适配器作为依赖项,
- 在 /src/main/resources 项目目录下创建一个名为 logging.properties 的文件。
有关配置记录器的详细信息,请参阅 Oracle 文档中的 Configuring Logging Output(配置日志记录输出)。
添加 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 日志记录:配置。
控制台日志记录
你可以创建配置以记录到控制台,如以下示例中所示。 此示例配置为记录所有信息级别或更高级别的日志记录事件,无论它们来自何处。
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
的配置,以及如何使 Azure SDK for Java 使用它来进行日志记录。 由于 Azure SDK for Java 适用于所有 SLF4J 记录框架,因此请考虑查看 SLF4J user manual(SLF4J 用户手册)了解更多详细信息。
掌握日志记录后,请考虑查看 Azure 提供到 Spring 和 MicroProfile 等框架中的集成。