禁用登录 org.apache.httpcomponents
Disable logging in org.apache.httpcomponents
下面是我的pom.xml
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20201115</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.13</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.4.3</version>
</dependency>
</dependencies>
<build>
<finalName>Demo</finalName>
</build>
我有一个 Spring 引导应用程序 JAR,它使用 Rest 模板访问几个 API,我在独立 Java 应用程序中通过 JAR 使用这些方法。
Client client = new Client();
Map<String, Object> mapObj = new LinkedHashMap<String, Object>();
//set my mapObj here
client.test(mapObj);
我在控制台中收到 org.apache.http 和 org.springframework.web 的以下 DEBUG 日志:
19:20:59.954 [main] DEBUG org.springframework.web.client.RestTemplate - HTTP POST
19:21:00.033 [main] DEBUG org.springframework.web.client.RestTemplate - Accept=[application/json, application/*+json]
19:21:00.040 [main] DEBUG org.springframework.web.client.RestTemplate - Writing [{}] as "application/x-www-form-urlencoded"
19:21:00.057 [main] DEBUG org.apache.http.client.protocol.RequestAddCookies - CookieSpec selected: default
19:21:00.069 [main] DEBUG org.apache.http.client.protocol.RequestAuthCache - Auth cache not set in the context
19:21:00.070 [main] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager - Connection request: [route: {s}->][total available: 0; route allocated: 0 of 2; total allocated: 0 of 20]
19:21:00.082 [main] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager - Connection leased: [id: 0][route: {s}->][total available: 0; route allocated: 1 of 2; total allocated: 1 of 20]
19:21:00.084 [main] DEBUG org.apache.http.impl.execchain.MainClientExec - Opening connection {s}->
19:21:00.273 [main] DEBUG org.apache.http.impl.conn.DefaultHttpClientConnectionOperator - Connecting to
19:21:00.273 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory - Connecting socket to with timeout 0
19:21:00.578 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory - Enabled protocols: [TLSv1, TLSv1.1, TLSv1.2]
19:21:00.578 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory - Enabled cipher suites:[TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384]
19:21:00.578 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory - Starting handshake
19:21:01.192 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory - Secure session established
19:21:01.193 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory - negotiated protocol: TLSv1.2
19:21:01.194 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory - negotiated cipher suite: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
19:21:01.196 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory - peer principal:
19:21:01.198 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory - issuer principal:
19:21:01.202 [main] DEBUG org.apache.http.impl.conn.DefaultHttpClientConnectionOperator - Connection established IPOne<->IPTwo
19:21:01.203 [main] DEBUG org.apache.http.impl.execchain.MainClientExec - Executing request POST HTTP/1.1
19:21:01.204 [main] DEBUG org.apache.http.impl.execchain.MainClientExec - Target auth state: UNCHALLENGED
19:21:01.206 [main] DEBUG org.apache.http.impl.execchain.MainClientExec - Proxy auth state: UNCHALLENGED
19:21:01.216 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> POST HTTP/1.1
19:21:01.216 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Accept: application/json, application/*+json
19:21:01.216 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Content-Type: application/x-www-form-urlencoded;charset=UTF-8
19:21:01.217 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Content-Length: 170
19:21:01.217 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Host:
19:21:01.217 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Connection: Keep-Alive
19:21:01.217 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> User-Agent: Apache-HttpClient/4.5.13 (Java/1.8.0_241)
19:21:01.218 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Accept-Encoding: gzip,deflate
如何禁用它们?
您可以尝试 2 件事。要么将其放入您的 application.yml 以仅记录上述包的警告和错误
logging:
level:
org.apache.http: WARN
org.springframework.web: WARN
或定义您自己的 resources/logback.xml
,就像包集的记录器一样:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/defaults.xml"/>
<property name="CONSOLE_LOG_PATTERN" value="[%date{YYYY-MM-dd HH:mm:ss.SSS}] %-5level [%.15thread] %logger{1} %msg%n"/>
<include resource="org/springframework/boot/logging/logback/console-appender.xml"/>
<logger name="org.apache.http" level="WARN" />
<logger name="org.springframework.web" level="WARN" />
<root level="${GLOBAL_LOGGING_LEVEL:-INFO}">
<appender-ref ref="CONSOLE"/>
</root>
</configuration>
下面是我的pom.xml
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20201115</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.13</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.4.3</version>
</dependency>
</dependencies>
<build>
<finalName>Demo</finalName>
</build>
我有一个 Spring 引导应用程序 JAR,它使用 Rest 模板访问几个 API,我在独立 Java 应用程序中通过 JAR 使用这些方法。
Client client = new Client();
Map<String, Object> mapObj = new LinkedHashMap<String, Object>();
//set my mapObj here
client.test(mapObj);
我在控制台中收到 org.apache.http 和 org.springframework.web 的以下 DEBUG 日志:
19:20:59.954 [main] DEBUG org.springframework.web.client.RestTemplate - HTTP POST
19:21:00.033 [main] DEBUG org.springframework.web.client.RestTemplate - Accept=[application/json, application/*+json]
19:21:00.040 [main] DEBUG org.springframework.web.client.RestTemplate - Writing [{}] as "application/x-www-form-urlencoded"
19:21:00.057 [main] DEBUG org.apache.http.client.protocol.RequestAddCookies - CookieSpec selected: default
19:21:00.069 [main] DEBUG org.apache.http.client.protocol.RequestAuthCache - Auth cache not set in the context
19:21:00.070 [main] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager - Connection request: [route: {s}->][total available: 0; route allocated: 0 of 2; total allocated: 0 of 20]
19:21:00.082 [main] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager - Connection leased: [id: 0][route: {s}->][total available: 0; route allocated: 1 of 2; total allocated: 1 of 20]
19:21:00.084 [main] DEBUG org.apache.http.impl.execchain.MainClientExec - Opening connection {s}->
19:21:00.273 [main] DEBUG org.apache.http.impl.conn.DefaultHttpClientConnectionOperator - Connecting to
19:21:00.273 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory - Connecting socket to with timeout 0
19:21:00.578 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory - Enabled protocols: [TLSv1, TLSv1.1, TLSv1.2]
19:21:00.578 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory - Enabled cipher suites:[TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384]
19:21:00.578 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory - Starting handshake
19:21:01.192 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory - Secure session established
19:21:01.193 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory - negotiated protocol: TLSv1.2
19:21:01.194 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory - negotiated cipher suite: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
19:21:01.196 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory - peer principal:
19:21:01.198 [main] DEBUG org.apache.http.conn.ssl.SSLConnectionSocketFactory - issuer principal:
19:21:01.202 [main] DEBUG org.apache.http.impl.conn.DefaultHttpClientConnectionOperator - Connection established IPOne<->IPTwo
19:21:01.203 [main] DEBUG org.apache.http.impl.execchain.MainClientExec - Executing request POST HTTP/1.1
19:21:01.204 [main] DEBUG org.apache.http.impl.execchain.MainClientExec - Target auth state: UNCHALLENGED
19:21:01.206 [main] DEBUG org.apache.http.impl.execchain.MainClientExec - Proxy auth state: UNCHALLENGED
19:21:01.216 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> POST HTTP/1.1
19:21:01.216 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Accept: application/json, application/*+json
19:21:01.216 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Content-Type: application/x-www-form-urlencoded;charset=UTF-8
19:21:01.217 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Content-Length: 170
19:21:01.217 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Host:
19:21:01.217 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Connection: Keep-Alive
19:21:01.217 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> User-Agent: Apache-HttpClient/4.5.13 (Java/1.8.0_241)
19:21:01.218 [main] DEBUG org.apache.http.headers - http-outgoing-0 >> Accept-Encoding: gzip,deflate
如何禁用它们?
您可以尝试 2 件事。要么将其放入您的 application.yml 以仅记录上述包的警告和错误
logging:
level:
org.apache.http: WARN
org.springframework.web: WARN
或定义您自己的 resources/logback.xml
,就像包集的记录器一样:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/defaults.xml"/>
<property name="CONSOLE_LOG_PATTERN" value="[%date{YYYY-MM-dd HH:mm:ss.SSS}] %-5level [%.15thread] %logger{1} %msg%n"/>
<include resource="org/springframework/boot/logging/logback/console-appender.xml"/>
<logger name="org.apache.http" level="WARN" />
<logger name="org.springframework.web" level="WARN" />
<root level="${GLOBAL_LOGGING_LEVEL:-INFO}">
<appender-ref ref="CONSOLE"/>
</root>
</configuration>