Rastreamento na API Web
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!
Veja Também:
Artigos Relacionados
Olá, deixe seu comentário para Rastreamento na API Web