2014-03-26 62 views

回答

11

确保编译和部署代码库拥有这一套:

public static class WebApiConfig 
{ 
    public static void Register(HttpConfiguration config) 
    { 
     // etc. 

     config.EnableSystemDiagnosticsTracing(); 

     // etc. 
    } 
} 

然后添加到您的Web.config文件:

<configuration> 
    <system.diagnostics> 
    <trace autoflush="false" indentsize="4"> 
     <listeners> 
     <add name="myListener" 
      type="System.Diagnostics.TextWriterTraceListener" 
      initializeData="E:\CompressedLogs\Service1-WebApi-TraceOutput.log" /> 
     <remove name="Default" /> 
     </listeners> 
    </trace> 
    </system.diagnostics> 
</configuration> 

您应该看到在日志文件这东西:

w3wp.exe Information: 0 : Request, Method=GET, Url=http://MonkeyChops.potato.org/v1/PantsSpiderman/431?api_key=0, Message='http://MonkeyChops.potato.org/v1/PantsSpiderman/431?api_key=0' 
w3wp.exe Information: 0 : Message='PantsSpiderman', Operation=DefaultHttpControllerSelector.SelectController 
w3wp.exe Information: 0 : Message='Spandex.MonkeyChops.WebApi.Controllers.PantsSpidermanController', Operation=DefaultHttpControllerActivator.Create 
w3wp.exe Information: 0 : Message='Spandex.MonkeyChops.WebApi.Controllers.PantsSpidermanController', Operation=HttpControllerDescriptor.CreateController 
w3wp.exe Information: 0 : Message='Selected action 'Get(String id)'', Operation=ApiControllerActionSelector.SelectAction 
w3wp.exe Information: 0 : Message='Parameter 'id' bound to the value '431'', Operation=ModelBinderParameterBinding.ExecuteBindingAsync 
w3wp.exe Information: 0 : Message='Model state is valid. Values: id=431', Operation=HttpActionBinding.ExecuteBindingAsync 
w3wp.exe Information: 0 : Message='Will use same 'XmlMediaTypeFormatter' formatter', Operation=XmlMediaTypeFormatter.GetPerRequestFormatterInstance 
w3wp.exe Information: 0 : Message='Selected formatter='XmlMediaTypeFormatter', content-type='text/xml; charset=utf-8'', Operation=DefaultContentNegotiator.Negotiate 
w3wp.exe Information: 0 : Message='Action returned 'StatusCode: 200, ReasonPhrase: 'OK', Version: 1.1, Content: System.Net.Http.ObjectContent`1[[Spandex.MonkeyChops.Models.Pants.result, Spandex.MonkeyChops.WebApi, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], Headers: 
{ 
    Cache-Control: public, must-revalidate, max-age=86400 
    Content-Type: text/xml; charset=utf-8 
}'', Operation=ReflectedHttpActionDescriptor.ExecuteAsync 
w3wp.exe Information: 0 : Operation=ApiControllerActionInvoker.InvokeActionAsync, Status=200 (OK) 
w3wp.exe Information: 0 : Operation=PantsSpidermanController.ExecuteAsync, Status=200 (OK) 
w3wp.exe Information: 0 : Response, Status=200 (OK), Method=GET, Url=http://MonkeyChops.potato.org/v1/PantsSpiderman/431?api_key=0, Message='Content-type='text/xml; charset=utf-8', content-length=unknown' 
w3wp.exe Information: 0 : Operation=XmlMediaTypeFormatter.WriteToStreamAsync 
w3wp.exe Information: 0 : Operation=PantsSpidermanController.Dispose 
+0

谢谢!我需要添加对以下NuGet包的引用:'Microsoft.AspNet.WebApi.Tracing' – ne1410s