Il tracing è sicuramente uno degli strumenti più amati (spesso dimenticati) quando ci si trova con dei problemi da risolvere. In Indigo il sistema di tracing è stato ulteriormente potenziato (anche rispetto a WSE). Infatti è possibile abilitare il trace su ogni singolo messaggio (in ingresso ed uscita) definendo nel file di configurazione i seguenti parametri del listener:
<source name="IndigoMessageLogTraceSource" switchValue="Verbose">
<listeners>
<add name="multifile"
type="System.ServiceModel.Diagnostics.MessageWriterTraceListener, system.servicemodel, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
initializeData="c:\logs\messages"
maxDiskSpace="10000" />
</listeners>
</source>
e di abilitazione del tracing:
<system.serviceModel>
<diagnostics>
<messageLogging logEntireMessage="true"
maxMessagesToLog="300"
logMessagesAtServiceLevel="false"
logMalformedMessages="true"
logMessagesAtTransportLevel="true" />
</diagnostics>
</system.serviceModel>
In questo caso tutti i messaggi verranno salvati nella cartella c:\logs\messages (a patto che l'untente del processo di host abbia i permessi di scrittura). La configurazione del listener non è obbligatoria in quanto by default i messaggi vengono salvati nella cartella di sistema (windows\system32).