Claudio Roberto

blog profissional com dicas de programação

Rastreamento na API Web

Rastreamento na API Web
  • Compartilhe esse post
  • Compartilhar no Facebook00
  • Compartilhar no Google Plus00
  • Compartilhar no Twitter

Quando você está tentando depurar um aplicativo baseado na web, não há nenhum substituto para um bom conjunto de logs de rastreamento. Este post mostra como habilitar o rastreamento na API Web ASP.NET

Olá Pessoal, tudo bem?

Recentemente precisei depurar uma api que criei utilizando Microsoft.AspNet.WebApi. Com isso fui pesquisar na net como depurar o que estava acontecendo em cada conexão e verifiquei que é possível habilitar o SystemDiagnosticsTracing, veja como é fácil.

HttpConfiguration webApiConfiguration = new HttpConfiguration();

SystemDiagnosticsTraceWriter traceWriter = webApiConfiguration.EnableSystemDiagnosticsTracing();
traceWriter.IsVerbose = true;
traceWriter.MinimumLevel = TraceLevel.Warn;

Com isso sua api está registrando todas as mensagens de warning, error e fatal da sua api.

Mas se você ainda deseja customizar essas mensagens de rastreio você pode o seu prório método de Trace e usar ele, veja um exemplo:

SimpleTrace.cs

public class SimpleTracer : ITraceWriter
{
public SimpleTracer() { }

public void Trace(HttpRequestMessage request, string category, TraceLevel level, Action<TraceRecord> traceAction)
{
TraceRecord rec = new TraceRecord(request, category, level);
traceAction(rec);

WriteTrace(rec);
}

protected void WriteTrace(TraceRecord traceRecord)
{
var message = string.Format("{0} {1}: Category={2}, Level={3} {4} {5} {6} {7}",
traceRecord.Request.Method,
traceRecord.Request.RequestUri,
traceRecord.Category,
traceRecord.Level,
traceRecord.Kind,
traceRecord.Operator,
traceRecord.Operation,
traceRecord.Exception != null
? traceRecord.Exception.GetBaseException().Message
: !string.IsNullOrEmpty(traceRecord.Message)
? traceRecord.Message
: string.Empty
);

System.Diagnostics.Trace.WriteLine(message);
}
}
webApiConfiguration.Services.Replace(typeof(ITraceWriter), new SimpleTracer());

Pronto, com isso você já consegue rastrear suas mensagens na api e tomar as devidas ações.

Qualquer dúvida deixe um comentário e eu te vejo no próximo post!

 

  • Compartilhe esse post
  • Compartilhar no Facebook00
  • Compartilhar no Google Plus00
  • Compartilhar no Twitter

Veja Também:

Artigos Relacionados

Olá, deixe seu comentário para Rastreamento na API Web

Enviando Comentário Fechar :/