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
        }



  • 相关阅读:
    java网络请求工具类
    MySql 日期比较大小
    JAVA泛型整理
    循环list从list中移除数据
    MySql UNION字段
    session理解
    IDEA鼠标悬停提示变量值
    JAVA常用的RPC框架
    字符串查找重复字符最多的
    java List分组
  • 原文地址:https://www.cnblogs.com/kevinGao/p/2323350.html
Copyright © 2011-2022 走看看