分享一个收集系统出现错误时收集信息的类

在系统开发过程中,出现错误在所难免,但是怎么样处理好出错的情况,以及尽可能地收集出错时的一些信息,对我们分析错误,从而查找排除错误是很有帮助的,下面提供一个错误信息收集类给大家,希望能够派上用场。

///<summary>
///Class that handles gathering of error information
///for reporting purposes
///</summary>
publicstaticclassErrorManager
{
#regionPublic Static Functions

///<summary>
///returns information specific to ASP.Net/IIS (Request, Response, Cache, etc.)
///</summary>
///<returns>An HTML formatted string containing the ASP.Net information</returns>
publicstaticstringGetAllASPNetInformation()
{
StringBuilder Builder =newStringBuilder();
HttpContext Current = HttpContext.Current;
Builder.Append("<strong>Request Variables</strong><br />");
Builder.Append(Current.Request.DumpRequestVariable());
Builder.Append("<br /><br /><strong>Response Variables</strong><br />");
Builder.Append(Current.Response.DumpResponseVariable());
Builder.Append("<br /><br /><strong>Server Variables</strong><br />");
Builder.Append(Current.Request.DumpServerVars());
Builder.Append("<br /><br /><strong>Session Variables</strong><br />");
Builder.Append(Current.Session.DumpSession());
Builder.Append("<br /><br /><strong>Cookie Variables</strong><br />");
Builder.Append(Current.Request.Cookies.DumpCookies());
Builder.Append("<br /><br /><strong>Cache Variables</strong><br />");
Builder.Append(Current.Cache.DumpCache());
Builder.Append("<br /><br /><strong>Application State Variables</strong><br />");
Builder.Append(Current.Application.DumpApplicationState());
returnBuilder.ToString();
}

///<summary>
///Gets assembly information for all currently loaded assemblies
///</summary>
///<returns>An HTML formatted string containing the assembly information</returns>
publicstaticstringGetAssemblyInformation()
{
StringBuilder Builder =newStringBuilder();
Builder.Append("<strong>Assembly Information</strong><br />");
AppDomain.CurrentDomain.GetAssemblies().ForEach<Assembly>(x =>Builder.Append(x.DumpProperties()));
returnBuilder.ToString();
}

///<summary>
///Gets information about the system.
///</summary>
///<returns>An HTML formatted string containing the state of the system.</returns>
publicstaticstringGetSystemInformation()
{
StringBuilder Builder =newStringBuilder();
Builder.Append("<strong>System Information</strong><br />");
Builder.Append(System.Type.GetType("Utilities.Environment.Environment").DumpProperties());
returnBuilder.ToString();
}

///<summary>
///Gets all process information and outputs it to an HTML formatted string
///</summary>
///<returns>An HTML formatted string containing the process information</returns>
publicstaticstringGetProcessInformation()
{
StringBuilder Builder =newStringBuilder();
Builder.Append("<strong>Process Information</strong><br />");
Builder.Append(Process.GetProcesses().GetInformation());
returnBuilder.ToString();
}

#endregion
}



你可能感兴趣的:(分享)