zoukankan      html  css  js  c++  java
  • ExpandStackTrace

            /// <summary>
            /// 把一个异常的堆栈信息处理后返回一个字符串
            /// 一个异常可能是另一个异常实例引发的,这里通过递归把所有的异常消息都处理并返回信息,最后形成一个包含异常足够多信息的字符串
            /// </summary>
            /// <param name="ex">传输的异常</param>
            /// <returns>返回的字符串</returns>
            public static string ExpandStackTrace(Exception ex)
            {
                StringBuilder buffer = new StringBuilder(1024);
                while (ex != null)
                {
                    if (buffer.Length > 0)
                    {
                        buffer.Insert(0, ex.StackTrace + "\nRe-Thrown (" + ex.Message + ")\n");
                    }
                    else
                    {
                        buffer.Insert(0, ex.StackTrace + "\n");
                    }
                    ex = ex.InnerException;
                }
                buffer.Replace(" in ", "\n\tin\n");
                return buffer.ToString();
            }

            public static void AppendLog(string content)
            {
                HttpContext context = HttpContext.Current;
                string path = String.Concat(context.Server.MapPath("~/Log/"), DateTime.Now.ToString("yyyyMMdd"), ".log");
                using (StreamWriter sw = new StreamWriter(path, true, Encoding.Default))
                {
                    sw.Write(DateTime.Now.ToString());
                    sw.Write('\t');
                    sw.Write(HttpUtils.RemoteIP);
                    sw.Write('\t');
                    sw.Write(context.Request.UserAgent);
                    sw.Write('\t');
                    sw.Write(context.Request.HttpMethod);
                    sw.Write('\t');
                    sw.Write(context.Request.Url.PathAndQuery);
                    sw.Write('\t');
                    sw.Write(content);
                    string referer = context.Request.ServerVariables["HTTP_REFERER"];
                    if (referer != null)
                    {
                        sw.Write('\t');
                        sw.Write("referer:");
                        sw.Write(referer);
                    }
                    sw.WriteLine();
                }
            }
    

  • 相关阅读:
    构建之法读书笔记 第4章 两人合作
    ASE19 团队项目 alpha 阶段 Frontend 组 scrum9 记录
    ASE —— 第二次结对作业
    ASE —— 第一次结对作业
    高级软件工程 —— 第一周博客作业
    软工个人总结
    六月上团队项目心得
    团队项目心得
    结对编程收获
    结对作业——随机生成四则运算(Core 第7组)
  • 原文地址:https://www.cnblogs.com/Googler/p/1950230.html
Copyright © 2011-2022 走看看