zoukankan      html  css  js  c++  java
  • 记录错误信息到TXT文件中

    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.IO;

    namespace WindowsFormsApplication1
    {
        /// <summary>
        /// WriteInLog 的摘要说明。
        /// </summary>
        public class WriteInLog
        {
            private string logFileName;
            private int logFileSizes;

            /// <summary>
            /// 写入日志文件
            /// </summary>
            public WriteInLog()
            {
                logFileName = @"~/ErrorLog/logfile.txt";
            }

            /// <summary>
            /// 自动删除日志文件大小,此方法已经重载.
            /// </summary>
            /// <param name="fileSize">日志文件大小,单位KB</param>
            public WriteInLog(int fileSize)
                : this()
            {
                if (fileSize != 0)
                {
                    this.logFileSizes = fileSize * 1024;
                }
                else
                {
                    this.logFileSizes = 1024;
                }
            }
            /// <summary>
            /// 日志文件完全名,如:@"e:\logfile.txt"
            /// </summary>
            public string LogFileName
            {
                set
                {
                    this.logFileName = value;
                }
            }

            /// <summary>
            /// 写入日志信息
            /// </summary>
            /// <param name="msg">日志内容</param>
            /// <param name="IsAutoDelete">是否自动删除日志</param>
            public void writeInLog(string msg)
            {
                if (logFileSizes != 0)
                {
                    writeInLog(msg, true);
                }
                else
                {
                    writeInLog(msg, false);
                }
            }

            /// <summary>
            /// 写入日志信息
            /// </summary>
            /// <param name="msg">日志内容</param>
            /// <param name="IsAutoDelete">是否自动删除日志</param>
            private void writeInLog(string msg, bool IsAutoDelete)
            {
                try
                {
                    logFileName = System.Web.HttpContext.Current.Server.MapPath(logFileName);
                    if (!File.Exists(logFileName))
                        File.Create(logFileName);
                    FileInfo fileinfo = new FileInfo(logFileName);
                    if (IsAutoDelete)
                    {
                        if (fileinfo.Exists && fileinfo.Length >= logFileSizes)
                        {
                            fileinfo.Delete();
                        }
                    }
                    using (FileStream fs = fileinfo.OpenWrite())
                    {
                        StreamWriter sw = new StreamWriter(fs);
                        sw.BaseStream.Seek(0, SeekOrigin.End);
                        sw.WriteLine("=====================================");
                        sw.Write("添加日期为:" + DateTime.Now.ToString() + "\r\n");
                        sw.Write("日志内容为:" + msg + "\r\n");
                        sw.WriteLine("=====================================");
                        sw.Flush();
                        sw.Close();
                    }
                }
                catch (Exception ex)
                {
                    ex.ToString();
                }
            }

        }

    }

    Error.aspx页:

    public partial class Error : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Context.Error != null)
            {
                //错误信息
                string errInfo = Context.Error.Message;
                string SouPage=Request.Url.ToString();
                WindowsFormsApplication1.WriteInLog write=new WindowsFormsApplication1.WriteInLog();
                write.writeInLog(errInfo + SouPage);
                //清除错误信息
                Context.ClearError();
            }
        }
    }

    全局页:

        void Application_Error(object sender, EventArgs e)
        {
            Server.Transfer("~/Error.aspx");

        }

  • 相关阅读:
    基于DM642 RAW采集格式的视频驱动开发及应用
    嵌入式开发之davinci--- 8148/8168/8127 中的添加算饭scd 场景检测 代码实现
    如何在外部采用AES-128对HLS的TS流进行加密
    阶段3 2.Spring_03.Spring的 IOC 和 DI_11 set方法注入
    阶段3 2.Spring_03.Spring的 IOC 和 DI_10 构造函数注入
    阶段3 2.Spring_03.Spring的 IOC 和 DI_9 spring的依赖注入
    阶段3 2.Spring_03.Spring的 IOC 和 DI_8 spring中bean的细节之生命周期
    阶段3 2.Spring_03.Spring的 IOC 和 DI_7 spring中bean的细节之作用范围
    阶段3 2.Spring_03.Spring的 IOC 和 DI_6 spring中bean的细节之三种创建Bean对象的方式
    阶段3 2.Spring_03.Spring的 IOC 和 DI_5 BeanFactory和ApplicationContext的区别
  • 原文地址:https://www.cnblogs.com/wujy/p/2304857.html
Copyright © 2011-2022 走看看