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


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

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



  • 相关阅读:
    logging日志模块
    mysql数据库--explain(查询表是否走索引)各个字段含义
    函数的命名空间、作用域、闭包函数
    模块
    Hibernate Stack Overflow
    PostgreSQL ----- No relations found.
    spring杂记
    JUnit test case 执行顺序
    转换成maven时报错
    参考网页
  • 原文地址:https://www.cnblogs.com/kevinGao/p/2323350.html
Copyright © 2020-2023  润新知