以创建异常日志为例子,下面是我自己写的一个方法。主要是要记录其要注意的一些逻辑和流程,如检测路径,写入流注意关闭,并最好放在finally块中等。
using System.IO;
public void LogRecord(string name, IList<string> content)
{
System.IO.StreamWriter writer = null;
try
{
lock (this)
{
// 检查文件夹
string folderPath = @"C:\Logs";
if (false == System.IO.Directory.Exists(folderPath))
{
//创建文件夹
Directory.CreateDirectory(folderPath);
}
if (Directory.Exists(folderPath))
{
//存在/成功创建 文件夹
folderPath = folderPath + @"\";
}
else
{
//无则当前路径创建文件
folderPath = folderPath + @"-";
}
//写入日志
string filePath = string.Format(folderPath + @"{0}{1}.txt", name, DateTime.Now.ToString("yyyy-MM-dd"));
FileStream fs = new FileStream(filePath, FileMode.Append, FileAccess.Write);
writer = new StreamWriter(fs);
foreach (var item in content)
{
writer.WriteLine(item);
}
writer.WriteLine("****************************************************************");
}
}
finally
{
if (writer != null)
{
writer.Close();
}
}
}