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;
}
}
}