2015-02-16 19 views
10

Ho un problema ambientale da qualche parte in OWIN e voglio ottenere alcune informazioni su ciò che sta accadendo. Ho letto che posso abilitare la traccia ma non riesco a trovare molte informazioni su come farlo.Posso abilitare la traccia in OWIN?

Ho aggiunto il seguente al mio web.config ma nessuna gioia. È possibile?

<!-- 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> 

+0

Stesso problema qui, ho aggiunto la configurazione come da http://www.tugberkugurlu.com/archive/logging-in-the-owin-world-with-microsoft-owin--introduction per esempio , ospitando l'app OWIN in IIS/Katana, ma nessun file di traccia viene mai creato. Analizza la configurazione, la usa nella fabbrica del logger, ha i diritti per scrivere nella posizione specificata, ma sembra non funzionare ancora –

+0

Puoi condividere la tua classe di avvio? e fornire maggiori dettagli nella tua domanda. Che cosa intendi tracciare (Richieste?, Errori?) Utilizzi qualsiasi middleware in Owin Pipeline? – rustem

+1

Bene, il mio problema è ora risolto. In qualche modo abbiamo perso il riferimento all'assembly Microsoft.Owin.Host.SystemWeb. Il pacchetto NuGet è stato installato, ma il riferimento è andato. Il risultato è che tutto funziona perfettamente OK, tranne il fatto che la classe di avvio personalizzata non viene mai rilevata ed eseguita, quindi viene utilizzata solo la configurazione OWIN predefinita (e nel nostro caso l'hosting WebAPI). La reinstallazione del pacchetto NuGet lo ha risolto. Non ho idea se questo è il caso per @Jamie, ma ti incoraggio a reinstallare il pacchetto. –

risposta

3

non al 100% sicuro che questo risolverà il problema, ma abbiamo ottenuto che funziona con i seguenti config. Leggera differenza nella riga seguente:

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

Si noti che il tag <source> include un attributo switchName (e switchType) che manca dal vostro esempio. Penso che questa istruzione colleghi TraceSource allo Switch e faccia l'intero lavoro.

Nel nostro caso, utilizziamo i listener di traccia per i siti Web di Azure (e per i lavori Web).

<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> 
+0

Ha funzionato, grazie. –

Problemi correlati