防止读写文件时出现被占用,都使用using(){}
追加写入,一次固定写一行
public static void Log(string path, string logMessage)
{
string path1 = path + "\\logs\\" + DateTime.Now.Date.ToString("yyyy-MM-dd") + "\\";
if (!Directory.Exists(path1)) Directory.CreateDirectory(path1);
path1 += "log.txt";
if (!File.Exists(path1))
{
using (FileStream fsWrtie=new FileStream(path1,FileMode.Create))
{
using (StreamWriter sw = new StreamWriter(fsWrtie))
{
sw.WriteLine(logMessage);//开始写入值
sw.Close();
}
fsWrtie.Close();
}
}
else
{
using (FileStream fsWrtie = new FileStream(path1, FileMode.Append))
{
using (StreamWriter sw = new StreamWriter(fsWrtie))
{
sw.WriteLine(logMessage);//开始写入值
sw.Close();
}
fsWrtie.Close();
}
}
}
追加写入,一直写
public static void Log2(string path, string logMessage)
{
string path1 = path + “\logs\” + DateTime.Now.Date.ToString(“yyyy-MM-dd”) + “\”;
if (!Directory.Exists(path1)) Directory.CreateDirectory(path1);
path1 += "log.txt";
byte[] myByte = System.Text.Encoding.UTF8.GetBytes(logMessage);
if (!File.Exists(path1))
{
using (FileStream fsWrite = new FileStream(path1, FileMode.Create))
{
fsWrite.Write(myByte, 0, myByte.Length);
};
}
else
{
using (FileStream fsWrite = new FileStream(path1, FileMode.Append))
{
fsWrite.Write(myByte, 0, myByte.Length);
};
}
//c#文件流读文件
string myStr;
using (FileStream fsRead = new FileStream(path1, FileMode.Open))
{
int fsLen = (int)fsRead.Length;
byte[] heByte = new byte[fsLen];
int r = fsRead.Read(heByte, 0, heByte.Length);
myStr = System.Text.Encoding.UTF8.GetString(heByte);
}
}
Log4的使用
。。。。。。。。。