Reputation: 2609
In classic .NET app, I did this by adding the following in app.config:
<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"/>
</sharedListeners>
<trace autoflush="true"/>
</system.diagnostics>
Can I achieve the same effect in .NET Core console app? In particular, I need to see which WinAPI functions are called (and which parameters are passed) during NTLM authentication with NegotiateStream class.
What I found so far is mostly about logging Web APIs in ASP.NET Core apps. My app is not ASP.NET, neither it uses any web APIs.
Upvotes: 15
Views: 1785
Reputation: 51
For the new .NET 5 you may try the technique mentioned here and it uses EventListener.
Upvotes: 1
Reputation: 45
In .NET Core tracing works differently compared to .NET framework. The framework emits trace events through etw (in windows). To read trace events you have two choices:
Upvotes: 0