如何在Spring Boot 2.0.5应用程序中启用HttpClient连线日志记录?

时间:2018-10-27 19:34:52

标签: spring-boot log4j apache-httpclient-4.x

我有一个Spring Boot 2.0.5命令行应用程序,其中大多数都是默认配置。

如何启用HTTPClient有线记录?

我尝试将其放入log4j.properties文件中

log4j.rootLogger=INFO, stdout

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%c] %m%n

log4j.logger.org.apache.http=DEBUG

我尝试将spring-boot-starter-logging添加到pom.xml

我还尝试将JVM参数添加到应用程序启动中:

-Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog
-Dorg.apache.commons.logging.simplelog.showdatetime=true
-Dorg.apache.commons.logging.simplelog.log.org.apache.http=DEBUG

但是没有任何效果。根本没有httpclient日志。

如何获取一些httpclient日志?

1 个答案:

答案 0 :(得分:1)

解决方案违反直觉。将此行添加到package javaapplication5; import java.io.*; import java.util.regex.*; public class JavaApplication5 { public static void main(String[] args) { // TODO code application logic here try { FileInputStream fstream = new FileInputStream("C:/Users/Welcome/Desktop/End-End-Delay.txt"); DataInputStream in = new DataInputStream(fstream); BufferedReader br = new BufferedReader(new InputStreamReader(in)); File newFile1= new File("C:/Users/Welcome/Desktop/AUV1.txt"); FileOutputStream fos1= new FileOutputStream(newFile1); BufferedWriter bw1= new BufferedWriter(new OutputStreamWriter(fos1)); String strLine; while ((strLine = br.readLine()) != null) { Pattern p = Pattern.compile("sender\\sid:\\s(\\d+).*?End-End\\sDelay:(\\d+(?:\\.\\d+)?)"); Matcher m = p.matcher(strLine); while (m.find()) { String b = m.group(1); String c = m.group(2); int i = Integer.valueOf(b); if(i==0){ System.out.println(b); bw1.write(c); bw1.newLine(); } System.out.println(b); // System.out.println(c); } } } catch (Exception e) { System.err.println("Error: " + e.getMessage()); } } }

  

logging.level.org.apache.http = DEBUG