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>
しかし、長いメッセージは切り捨てられ得る(ない長い1ギガバイトのように、長い12KB/30行と同じように!)ので、私は、Web 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で試してみましたが、明らかにそうでないか、設定する必要がある他の属性がありますが、属性のリストを見つけることができません。奇妙な方法で、より大きいWebページhtmlが切り捨てられずに16進数として出力されていますが、これが1つのメッセージで発生するかどうかはテストしていません。 – JDE
あなたがウェブリクエストに興味があるのであれば、[Fiddler](http://www.telerik.com/fiddler)を使わないでください。 – rene