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


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

    /// <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
        }



  • 相关阅读:
    MySQL面试题-基础
    IDEA 创建Spring项目后org.springframework.boot报错
    IDEA上传项目到SVN
    解决:idea中右键项目找不到subversion
    关于fromdata的上传文件问题
    PHP清除数组中为0的元素
    PHP删除数组中重复的元素
    PHP代码篇(六)--如何根据邀请人id查询满足条件的会员上级
    PHP对URL进行字符串编码
    PHP时间戳相互转换
  • 原文地址:https://www.cnblogs.com/kevinGao/p/2323350.html
Copyright © 2020-2023  润新知