一個日誌記錄幫助類

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

namespace ExceptionLog
{
    public class LogSave
    {
        #region 單件構造
        private static LogSave instance;
        private static object syncLock = new object();
        protected LogSave()
        {

        }
        public static LogSave Instance()
        {
            lock (syncLock)
            {
                if (instance == null)
                {
                    instance = new LogSave();
                }
                return instance;
            }
        }
        #endregion

        private string logPath = AppDomain.CurrentDomain.BaseDirectory + "\\log";

        //保存到本地log文件夾
        //每月生成一個txt文件
        public void SaveToTxt(string log)
        {
            if (!Directory.Exists(logPath))
            {
                Directory.CreateDirectory(logPath);
            }

            string logMonthPath = logPath + "\\" + DateTime.Now.Year + "-" + DateTime.Now.Month + ".txt";
            this.WriteToTxt(logMonthPath, log);
        }

        private void WriteToTxt(string path, string log)
        {
            FileStream fs = new FileStream(path, FileMode.Append, FileAccess.Write);
            StreamWriter sw = new StreamWriter(fs);
            sw.WriteLine(log);
            sw.Flush();
            sw.Close();
            fs.Close();
        }

        public FileInfo[] ReadFileInfo()
        {
            DirectoryInfo dir = new DirectoryInfo(logPath);
            return dir.GetFiles();
        }

        public string ReadTxt(string name)
        {
            string txtContent = string.Empty;
            FileStream fs = new FileStream(logPath + "\\" + name, FileMode.Open, FileAccess.Read);
            StreamReader sr = new StreamReader(fs);
            txtContent = sr.ReadToEnd();
            sr.Close();
            fs.Close();
            return txtContent;
        }
    }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章