ASP.NET, C#: Simpler Trace
I found myself needing to trace some variables in my ASP.NET app, but rather than calling Page.Trace from my pages, and HttpContext.Current.Trace from my static utility methods, I decided to simplify standardize the process. The result is below; it uses the Callstack and Reflection to determine the type and name of the member that called the trace method:
/// <summary>
/// Writes a name and value to the Trace output, categorized by the type and member
/// (property or method) from which the method was called.
/// </summary>
/// <param name="name">Name of variable to trace.</param>
/// <param name="value">Value of variable to trace.</param>
public static void WriteTrace(string name, object value)
{
System.Reflection.MethodBase callingMethodBase = new
System.Diagnostics.StackTrace().GetFrame(1).GetMethod();
string callingMethod = string.Format("{0}.{1}",
callingMethodBase.DeclaringType.Name,
callingMethodBase.Name);
string message = string.Format("{0}: {1}", name, value);
HttpContext.Current.Trace.Write(callingMethod , message);
}
0 Comments:
Post a Comment
<< Home