我正在使用Azure 的 Java SDK和Maven开发应用程序。此应用程序将数据发送到 IoT 中心和其他一些对问题范围不重要的功能。
我通过使用在应用程序中实现了自己的日志记录log4j2,我对此很好,因为我可以随意修改和更改它。
当我检查应用程序控制台输出中出现的此警告时,出现了问题:
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.
多亏了这个 SO question,我才能做出正确的举动并在我的pom.xml文件中添加依赖项,如下所示:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.project.myProject</groupId>
<artifactId>myProject</artifactId>
<packaging>jar</packaging>
<version>1.0.0</version>
...
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-jdk14</artifactId>
<version>1.7.25</version>
</dependency>
...
在此添加之后,Azure 的 SDK 开始打印以控制很多我不想看到的信息。这应该是发起日志记录的类。
接下来,一些输出会自行写入控制台。
...
Jun 07, 2018 8:09:18 PM com.microsoft.azure.sdk.iot.device.CustomLogger LogInfo
INFO: IotHubConnectionString object is created successfully for iotHub.azure-devices.net, method name is <init>
Jun 07, 2018 8:09:19 PM com.microsoft.azure.sdk.iot.device.CustomLogger LogInfo
INFO: DeviceClientConfig object is created successfully with IotHubName=iotHub.azure-devices.net, deviceID=device01 , method name is <init>
Jun 07, 2018 8:09:20 PM com.microsoft.azure.sdk.iot.device.CustomLogger LogInfo
INFO: DeviceIO object is created successfully, method name is <init>
Jun 07, 2018 8:09:20 PM com.microsoft.azure.sdk.iot.device.CustomLogger LogInfo
INFO: Setting SASTokenExpiryTime as 2400 seconds, method name is setOption_SetSASTokenExpiryTime
...
我已经尝试禁用Logger但没有成功(按照这个 SO question)。
我想知道是否有人遇到过这个问题,如果有,我该如何禁用日志记录功能或抑制警告?
提前非常感谢!
jeck猫
相关分类