Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can I enable tracing in OWIN?

I have an environmental problem somewhere in OWIN and I want to get some information about what is happening. I have read that I can enable tracing but can't find much information on how to do it.

I have added the following to my web.config but no joy. Is this possible?

<!-- 1. Enable the switch here. Without this, you get nothing. By default, Katana has "new SourceSwitch("Microsoft.Owin")" at the root level. -->
<switches>
  <add name="Microsoft.Owin" value="Verbose" />
</switches>

<!-- 2. Add your shared listeners. -->
<trace autoflush="true" />
<sharedListeners>
  <add name="file" type="System.Diagnostics.TextWriterTraceListener" initializeData="C:\traces\Microsoft.OWIN.trace.log" />
  <add name="console" type="System.Diagnostics.ConsoleTraceListener" />
</sharedListeners>

<sources>
  <!-- "Microsoft.Owin" is the SourceSwitch name katana is using at the rootlevel. By enabling this, we are enabling all sub level traces by the components (if we don't change the default trace settings). -->
  <source name="Microsoft.Owin">
    <listeners>
      <add name="file" />
      <add name="console" />
    </listeners>
  </source>
</sources>

like image 221
Jamie Avatar asked Feb 16 '15 16:02

Jamie


1 Answers

Not 100% sure that this will solve your issue, but we got it working with following config. Slight difference in the following line:

<source name="Microsoft.Owin" switchName="Microsoft.Owin" switchType="System.Diagnostics.SourceSwitch">

Notice that the <source> tag includes a switchName (and switchType) attribute which is missing from your example. I think that this instruction links the TraceSource with the Switch and makes the entire work.

In our case, we use trace listeners for Azure Web sites (and web jobs).

 <system.diagnostics>
    <sharedListeners>
      <add name="AzureTableTraceListener" type="Microsoft.WindowsAzure.WebSites.Diagnostics.AzureTableTraceListener, Microsoft.WindowsAzure.WebSites.Diagnostics, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
      <add name="AzureBlobTraceListener" type="Microsoft.WindowsAzure.WebSites.Diagnostics.AzureBlobTraceListener, Microsoft.WindowsAzure.WebSites.Diagnostics, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
      <add name="AzureDriveTraceListener" type="Microsoft.WindowsAzure.WebSites.Diagnostics.AzureDriveTraceListener, Microsoft.WindowsAzure.WebSites.Diagnostics, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
    </sharedListeners>
    <sources>
      <source name="Microsoft.Owin" switchName="Microsoft.Owin" switchType="System.Diagnostics.SourceSwitch">
        <listeners>
          <add name="AzureTableTraceListener"/>
          <add name="AzureDriveTraceListener"/>
        </listeners>
      </source>
    </sources>
    <switches>
      <add name="Microsoft.Owin" value="All" />
    </switches>
    <trace autoflush="true" indentsize="4" />
  </system.diagnostics>
like image 173
Olivier Vaillancourt Avatar answered Sep 20 '22 08:09

Olivier Vaillancourt