
最近想写log.再接口里面
所以就想到了.net 4.0提供的这个类.
整好.配合asp.net api好使用
,而且 本地调试会在 vs Output 里面输出.
1.开启这个Tracing
config.EnableSystemDiagnosticsTracing();
2. 使用
using System.Web.Http.Tracing; using System.Diagnostics.Tracing;
SystemDiagnosticsTraceWriter traceWriter = Configuration.Services.GetTraceWriter(); traceWriter.Trace(Request,"`",TraceLevel.Info,"{0}","hello.");
3.拓展.因为写这个的肯定不会在一个地方显示,就写到一个txt里面吧
public class MyTraceWriter:ITraceWriter { public void Trace(System.Net.Http.HttpRequestMessage request, string category, TraceLevel level, Action<TraceRecord> traceAction) { TraceRecord record = new TraceRecord(request, category, level); traceAction(record); string path = HttpContext.Current.Server.MapPath("~/Logs/log.txt"); File.AppendAllText(path, record.Status + " - " + record.Message + "rn"); } }
配置改为
config.Services.Replace(typeof(ITraceWriter),newMyTraceWriter());
MyTraceWriter trace = (MyTraceWriter)Configuration.Services.GetTraceWriter(); trace.Trace(Request,",TraceLevel.Info,"{0}","1.");
这时候.tracing里面的内容就到文本文件里面了 4. 好处:1.调试的时候,输出到output窗口里面2.发布网上,能写到log里面.
]]>