Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
清除来自apache HttpClient的响应日志(不带15:44:59.689[http-nio-8080-exec-4]DEBUG org.apache.http.wire-http-outing-0<;)_Http_Logging_Httpclient_Logback_Apache Httpclient 4.x - Fatal编程技术网

清除来自apache HttpClient的响应日志(不带15:44:59.689[http-nio-8080-exec-4]DEBUG org.apache.http.wire-http-outing-0<;)

清除来自apache HttpClient的响应日志(不带15:44:59.689[http-nio-8080-exec-4]DEBUG org.apache.http.wire-http-outing-0<;),http,logging,httpclient,logback,apache-httpclient-4.x,Http,Logging,Httpclient,Logback,Apache Httpclient 4.x,我设法在HttpClient上打开了完整的调试日志记录。(使用logback)我确实记录了所有内容,但在每一行上都添加了大量垃圾头。我希望日志记录没有任何额外的格式、分号、引号和编码,如下所示: 15:44:59.689 [http-nio-8080-exec-4] DEBUG org.apache.http.wire - http-outgoing-0 << " <readOnly>false</readOnly>[\n]" 15:44:59.689 [h

我设法在HttpClient上打开了完整的调试日志记录。(使用logback)我确实记录了所有内容,但在每一行上都添加了大量垃圾头。我希望日志记录没有任何额外的格式、分号、引号和编码,如下所示:

15:44:59.689 [http-nio-8080-exec-4] DEBUG org.apache.http.wire - http-outgoing-0 << "  <readOnly>false</readOnly>[\n]"
15:44:59.689 [http-nio-8080-exec-4] DEBUG org.apache.http.wire - http-outgoing-0 << "  <enabled>false</enabled>[\n]"
15:44:59.689 [http-nio-8080-exec-4] DEBUG org.apache.http.wire - http-outgoing-0 << "  <metadata>[\n]"
15:44:59.689 [http-nio-8080-exec-4] DEBUG org.apache.http.wire - http-outgoing-0 << "    <name>P[0xc5][0x99]ipoji[0xc5][0xa1]t[0xc4][0x9b]n[0xc3][0xad] denn[0xc3][0xad] d[0xc3][0xa1]vky p[0xc5][0x99]i pobytu v nemocnici n[0xc3][0xa1]sledkem [0xc3][0xba]razu d[0xc3][0xad]t[0xc4][0x9b]te</name>[\n]"
 << "  <readOnly>false</readOnly>[\n]"
 << "  <enabled>false</enabled>[\n]"
 << "  <metadata>[\n]"
 << "    <name>P[0xc5][0x99]ipoji[0xc5][0xa1]t[0xc4][0x9b]n[0xc3][0xad] denn[0xc3][0xad] d[0xc3][0xa1]vky p[0xc5][0x99]i pobytu v nemocnici n[0xc3][0xa1]sledkem [0xc3][0xba]razu d[0xc3][0xad]t[0xc4][0x9b]te</name>[\n]"

15:44:59.689[http-nio-8080-exec-4]DEBUG org.apache.http.wire-http-outing-0您试图修改的日志行似乎是由
org.apache.http.impl.conn.LoggingSessionInputBuffer
类生成的,然后调用
org.apache.http.impl.conn.Wire
,将传入的数据记录到Wire日志中

不幸的是,
Wire
类在记录的消息中包含小于的符号和引号,因此使用logback最好的方法是在logback.xml中使用最小的模式布局

<pattern>%m%n</pattern>
%m%n
这将产生如下结果:

15:44:59.689 [http-nio-8080-exec-4] DEBUG org.apache.http.wire - http-outgoing-0 << "  <readOnly>false</readOnly>[\n]"
15:44:59.689 [http-nio-8080-exec-4] DEBUG org.apache.http.wire - http-outgoing-0 << "  <enabled>false</enabled>[\n]"
15:44:59.689 [http-nio-8080-exec-4] DEBUG org.apache.http.wire - http-outgoing-0 << "  <metadata>[\n]"
15:44:59.689 [http-nio-8080-exec-4] DEBUG org.apache.http.wire - http-outgoing-0 << "    <name>P[0xc5][0x99]ipoji[0xc5][0xa1]t[0xc4][0x9b]n[0xc3][0xad] denn[0xc3][0xad] d[0xc3][0xa1]vky p[0xc5][0x99]i pobytu v nemocnici n[0xc3][0xa1]sledkem [0xc3][0xba]razu d[0xc3][0xad]t[0xc4][0x9b]te</name>[\n]"
 << "  <readOnly>false</readOnly>[\n]"
 << "  <enabled>false</enabled>[\n]"
 << "  <metadata>[\n]"
 << "    <name>P[0xc5][0x99]ipoji[0xc5][0xa1]t[0xc4][0x9b]n[0xc3][0xad] denn[0xc3][0xad] d[0xc3][0xa1]vky p[0xc5][0x99]i pobytu v nemocnici n[0xc3][0xa1]sledkem [0xc3][0xba]razu d[0xc3][0xad]t[0xc4][0x9b]te</name>[\n]"

您试图修改的日志行似乎是由
org.apache.http.impl.conn.LoggingSessionInputBuffer
类生成的,该类反过来调用
org.apache.http.impl.conn.Wire
将传入数据记录到Wire日志中

不幸的是,
Wire
类在记录的消息中包含小于的符号和引号,因此使用logback最好的方法是在logback.xml中使用最小的模式布局

<pattern>%m%n</pattern>
%m%n
这将产生如下结果:

15:44:59.689 [http-nio-8080-exec-4] DEBUG org.apache.http.wire - http-outgoing-0 << "  <readOnly>false</readOnly>[\n]"
15:44:59.689 [http-nio-8080-exec-4] DEBUG org.apache.http.wire - http-outgoing-0 << "  <enabled>false</enabled>[\n]"
15:44:59.689 [http-nio-8080-exec-4] DEBUG org.apache.http.wire - http-outgoing-0 << "  <metadata>[\n]"
15:44:59.689 [http-nio-8080-exec-4] DEBUG org.apache.http.wire - http-outgoing-0 << "    <name>P[0xc5][0x99]ipoji[0xc5][0xa1]t[0xc4][0x9b]n[0xc3][0xad] denn[0xc3][0xad] d[0xc3][0xa1]vky p[0xc5][0x99]i pobytu v nemocnici n[0xc3][0xa1]sledkem [0xc3][0xba]razu d[0xc3][0xad]t[0xc4][0x9b]te</name>[\n]"
 << "  <readOnly>false</readOnly>[\n]"
 << "  <enabled>false</enabled>[\n]"
 << "  <metadata>[\n]"
 << "    <name>P[0xc5][0x99]ipoji[0xc5][0xa1]t[0xc4][0x9b]n[0xc3][0xad] denn[0xc3][0xad] d[0xc3][0xa1]vky p[0xc5][0x99]i pobytu v nemocnici n[0xc3][0xa1]sledkem [0xc3][0xba]razu d[0xc3][0xad]t[0xc4][0x9b]te</name>[\n]"
您可以在模式中使用logback:

<pattern>%replace(%msg){'\[0x9\]', '  '}%n</pattern>
%replace(%msg){'\[0x9\]',''}%n
这将删除[0x9]字符,并将其替换为空格。 这并不理想,但至少允许清除一些噪音,并使日志更具可读性

您可以在模式中使用logback:

<pattern>%replace(%msg){'\[0x9\]', '  '}%n</pattern>
%replace(%msg){'\[0x9\]',''}%n
这将删除[0x9]字符,并将其替换为空格。
这并不理想,但至少允许清除一些噪音,并使日志更具可读性

这是一个非常有趣的解决方案,但是我不熟悉sed,感觉我也需要解码国家字符(p[0xc5][0x99]ipoji)这是一个非常有趣的解决方案,但是我不熟悉sed,感觉我也需要解码国家字符(p[0xc5][0x99]ipoji)