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).