異常レコード(txtログファイルを書く)

3733 ワード

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.IO;



namespace WebBuild_CRM.Common

{

    public class ExceptionRecord

    {



        public static void RecordException(Exception ex)

        {

            FileStream fileStream = null;

            StreamWriter writer = null;

            try

            {

                string path = System.Web.HttpContext.Current.Server.MapPath("~/ExceptionLog");

                if (!Directory.Exists(path))

                    Directory.CreateDirectory(path);



                string filepath = string.Format("{0}/{1}.txt", path, DateTime.Now.ToString("yyyy-MM-dd"));

                System.IO.FileInfo fileInfo = new System.IO.FileInfo(filepath);



                if (!fileInfo.Exists)

                    fileStream = fileInfo.Create();

                else

                    fileStream = fileInfo.Open(FileMode.Append, FileAccess.Write);



                writer = new StreamWriter(fileStream);

                writer.WriteLine(DateTime.Now);

                writer.WriteLine(ex.Message);

                writer.WriteLine(ex.StackTrace);

                writer.WriteLine("");

            }

            finally

            {

                if (writer != null)

                {

                    writer.Close();

                    writer.Dispose();

                    fileStream.Close();

                    fileStream.Dispose();

                }

            }

        }



    }

}