Практическое руководство. Настройка трассировки сети
Файл конфигурации приложения или компьютера содержит параметры, которые определяют формат и содержимое данных трассировки сети. Перед выполнением этой процедуры убедитесь, что трассировка включена. Дополнительные сведения см. в разделе Включение трассировки сети.
Файл конфигурации компьютера machine.config хранится в папке %windir%\Microsoft.NET\Framework. В папках внутри %windir%\Microsoft.NET\Framework находится отдельный файл machine.config для каждой версии .NET Framework, установленной на компьютере:
- C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Config\machine.config
- C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config
Эти параметры могут также задаваться в файле конфигурации приложения, который имеет более высокий приоритет, чем в файл конфигурации компьютера.
Настройка трассировки сети
Чтобы настроить трассировку сети, добавьте следующие строки в соответствующий файл конфигурации. Значения этих параметров описаны в приведенных ниже таблицах.
<configuration>
<system.diagnostics>
<sources>
<source name="System.Net" tracemode="includehex" maxdatasize="1024">
<listeners>
<add name="System.Net"/>
</listeners>
</source>
<source name="System.Net.Cache">
<listeners>
<add name="System.Net"/>
</listeners>
</source>
<source name="System.Net.Http">
<listeners>
<add name="System.Net"/>
</listeners>
</source>
<source name="System.Net.Sockets">
<listeners>
<add name="System.Net"/>
</listeners>
</source>
<source name="System.Net.WebSockets">
<listeners>
<add name="System.Net"/>
</listeners>
</source>
</sources>
<switches>
<add name="System.Net" value="Verbose"/>
<add name="System.Net.Cache" value="Verbose"/>
<add name="System.Net.Http" value="Verbose"/>
<add name="System.Net.Sockets" value="Verbose"/>
<add name="System.Net.WebSockets" value="Verbose"/>
</switches>
<sharedListeners>
<add name="System.Net"
type="System.Diagnostics.TextWriterTraceListener"
initializeData="network.log"
traceOutputOptions="ProcessId, DateTime"
/>
</sharedListeners>
<trace autoflush="true"/>
</system.diagnostics>
</configuration>
Выходные данные трассировки из методов
При добавлении имени в блок <switches>
результаты трассировки будут содержать сведения из определенных методов, связанных с указанным именем. Результат описан в следующей таблице:
Имя. | Источник результата |
---|---|
System.Net.Sockets |
Некоторые открытые методы классов Socket, TcpListener, TcpClient и Dns. |
System.Net |
Некоторые открытые методы классов HttpWebRequest, HttpWebResponse, FtpWebRequest и FtpWebResponse, а также отладочные данные SSL (недопустимые сертификаты, отсутствующие издатели и ошибки сертификатов клиентов). |
System.Net.HttpListener |
Некоторые открытые методы классов HttpListener, HttpListenerRequest и HttpListenerResponse. |
System.Net.Cache |
Некоторые открытые и закрытые методы в System.Net.Cache . |
System.Net.Http |
Некоторые общедоступные методы HttpClient, , HttpMessageHandlerDelegatingHandlerHttpClientHandler, MessageProcessingHandlerи WebRequestHandler классы. |
System.Net.WebSockets.WebSocket |
Некоторые открытые методы классов ClientWebSocket и WebSocket. |
Атрибуты выходных данных трассировки
Атрибуты, указанные в следующей таблице, задают выходные данные трассировки:
Attribute name | Значение атрибута |
---|---|
value |
Обязательный атрибут элемента String. Задает уровень детализации результатов. Допустимые значения: Critical , Error , Verbose , Warning и Information .Этот атрибут следует задавать в элементе add элемента switches. Исключение возникает, если этот атрибут задан для элемента source. Пример: <add name="System.Net" value="Verbose"/> |
maxdatasize |
Необязательный атрибут элемента Int32. Задает максимальное число байтов сетевых данных, включенных в трассировку каждой линии. Значение по умолчанию — 1024. Этот атрибут следует задавать в элементе source. Исключение возникает, если этот атрибут задан для элемента в элементе switches. Пример: <source name="System.Net" tracemode="includehex" maxdatasize="1024"> |
tracemode |
Необязательный атрибут элемента String. Задается includehex , чтобы трассировка протоколов отображалась в шестнадцатеричном или текстовом формате. Установите значение protocolonly , чтобы отображался только текст. Значение по умолчанию — includehex .Этот атрибут следует задавать в элементе source. Исключение возникает, если этот атрибут задан для элемента в элементе switches. Пример: <source name="System.Net" tracemode="includehex" maxdatasize="1024"> |