在C#中,我启用了跟踪和网络跟踪源。C#跟踪截断长消息
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<system.diagnostics>
<sources>
<source name="System.Net" tracemode="includehex" maxdatasize="1024">
<listeners>
<add name="System.Net"/>
</listeners>
</source>
</sources>
<switches>
<add name="System.Net" value="Verbose"/>
</switches>
<sharedListeners>
<add name="System.Net"
type="TraceTest.StringWriterTraceListener, TraceTest"
initializeData="myfile.log"
/>
</sharedListeners>
<trace autoflush="true" indentsize="4" />
</system.diagnostics>
</configuration>
但较长的消息被截断(长的很像12KB/30日线,没多久就像1GB!),所以我在这里唯一的网络reqiest头部的一部分被记录的情况下结束。
如何解决这个问题?
还是你知道一本书或一些资源,解释.net跟踪和调试非常详细?
日志例如:
System.Net Information: 0 : [1204] Connection#63291458 - Received headers
{
Transfer-Encoding: chunked
Connection: keep-alive
Keep-Alive: timeout=10
Content-Type: text/html; charset=windows-1251
Date: Mon, 04 Jul 2016 17:50:33 GMT
Set-Cookie: uid=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0,uid=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/,uid=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/; domain=.zamunda.net,pass=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0,pass=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/,pass=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/; domain=.zamunda.net,bitbucketz=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0,bitbucketz=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/,bitbucketz=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/; domain=.zamunda.net,cats=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0,cats=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/,cats=deleted;
expires=...}.
这是一个消息,在不知何故TraceListener
Write
方法被称为丝毫该正被截断单个消息做为参数(“...}”结尾)
而且饼干可怕的书面和几乎是不可分析的,但我可以忍受......
呀,可悲的是从System.dlls篡改或使用一些奇怪的和复杂的类型继承除了没有太多成为 完成。
这不正是“maxdatasize”的用途吗? 1024似乎有点低。 – spender
这么想的,用32768和20000试了一下,但显然不是这样的,或者有一些其他属性必须设置,但我无法找到属性列表。奇怪的方式更大的网页html被输出为hex而不被截断,但我还没有测试过这是否发生在一条消息中。 – JDE
如果你只对webrequests感兴趣,为什么你不使用[Fiddler](http://www.telerik.com/fiddler) – rene