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