zoukankan      html  css  js  c++  java
  • 分享一个收集系统出现错误时收集信息的类

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

    /// <summary>
        /// Class that handles gathering of error information
        /// for reporting purposes
        /// </summary>
        public static class ErrorManager
        {
            #region Public 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>
            public static string GetAllASPNetInformation()
            {
                StringBuilder Builder = new StringBuilder();
                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());
                return Builder.ToString();
            }

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

            /// <summary>
            /// Gets information about the system.
            /// </summary>
            /// <returns>An HTML formatted string containing the state of the system.</returns>
            public static string GetSystemInformation()
            {
                StringBuilder Builder = new StringBuilder();
                Builder.Append("<strong>System Information</strong><br />");
                Builder.Append(System.Type.GetType("Utilities.Environment.Environment").DumpProperties());
                return Builder.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>
            public static string GetProcessInformation()
            {
                StringBuilder Builder = new StringBuilder();
                Builder.Append("<strong>Process Information</strong><br />");
                Builder.Append(Process.GetProcesses().GetInformation());
                return Builder.ToString();
            }

            #endregion
        }



  • 相关阅读:
    JS创建类的方法--简单易懂有实例
    CommonJS, AMD, CMD是什么及区别--简单易懂有实例
    JS回调函数--简单易懂有实例
    单链表应用(2)--使用快慢指针,如何判断是否有环,环在哪个节点
    单链表应用(1)--使用快慢指针,找链表中间值
    自定义线性结构-有序Map
    C++中final和override
    双向链表翻转
    检查“()”是否匹配并返回深度
    是否存在K
  • 原文地址:https://www.cnblogs.com/kevinGao/p/2323350.html
Copyright © 2011-2022 走看看